Skip to content

Commit ee9badc

Browse files
committed
docs(zh-hant): Apply suggestions and update translation
1 parent 076f83b commit ee9badc

File tree

2 files changed

+33
-33
lines changed

2 files changed

+33
-33
lines changed

content/docs/components-and-props.md

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
id: components-and-props
3-
title: 元件與 Props
3+
title: Components 與 Props
44
permalink: docs/components-and-props.html
55
redirect_from:
66
- "docs/reusable-components.html"
@@ -16,23 +16,23 @@ prev: rendering-elements.html
1616
next: state-and-lifecycle.html
1717
---
1818

19-
元件使你可以將 UI 拆分成獨立且可復用的程式碼,並且專注於各別程式碼的思考。本章節旨在介紹元件的相關概念,你也可以在此參閱[詳細的 API 文件](/docs/react-component.html)
19+
Component 使你可以將 UI 拆分成獨立且可復用的程式碼,並且專注於各別程式碼的思考。本章節旨在介紹 component 的相關概念,你也可以在此參閱[詳細的 API 文件](/docs/react-component.html)
2020

21-
概念上來說,元件就像是 JavaScript 的函式,它接收任意的參數(稱之為 "props")並且回傳描述畫面的 React 元素。
21+
概念上來說,component 就像是 JavaScript 的函式,它接收任意的參數(稱之為props)並且回傳描述畫面的 React 元素。
2222

23-
## 函式元件與類別元件{#function-and-class-components}
23+
## Function Components 與 Class Components {#function-and-class-components}
2424

25-
定義元件最簡單的方法即是撰寫一個 Javascript 函式:
25+
定義 component 最簡單的方法即是撰寫一個 Javascript 函式:
2626

2727
```js
2828
function Welcome(props) {
2929
return <h1>Hello, {props.name}</h1>;
3030
}
3131
```
3232

33-
此函式是一個符合規範的 React 元件,因為它接受一個 "props"(指屬性 properties)物件並回傳一個 React 元素。我們稱之為函式元件(function components),因為它本身就是一個 JavaScript functions。
33+
此函式是一個符合規範的 React component,因為它接受一個props(指屬性 properties)物件並回傳一個 React 元素。我們稱之為 function component,因為它本身就是一個 JavaScript functions。
3434

35-
同樣的,你也可以使用 [ES6 類別](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) 來定義元件
35+
同樣的,你也可以使用 [ES6 Class](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes) 來定義 component
3636

3737
```js
3838
class Welcome extends React.Component {
@@ -42,27 +42,27 @@ class Welcome extends React.Component {
4242
}
4343
```
4444

45-
上述兩種元件的在 React 中是同等的。
45+
上述兩種 component 的在 React 中是同等的。
4646

47-
我們將會在[下一個章節]((/docs/state-and-lifecycle.html))探討 class 所擁有的額外特性,但在那之前,我們會使用函式元件來保持簡潔
47+
我們將會在[下一個章節]((/docs/state-and-lifecycle.html))探討 class 所擁有的額外特性,但在那之前,我們會使用 function component 來保持簡潔
4848

49-
## 描繪一個元件 {#rendering-a-component}
49+
## Render 一個 component {#rendering-a-component}
5050

5151
在此之前,我們只見過這種相當於 DOM 標籤的 React 元素:
5252

5353
```js
5454
const element = <div />;
5555
```
5656

57-
不過,React 元素也可以是使用者自定義的元件
57+
不過,React 元素也可以是使用者自定義的 component
5858

5959
```js
6060
const element = <Welcome name="Sara" />;
6161
```
6262

63-
當 React 元素為使用者定義的元件時,它會將 JSX 所接收的屬性作為一個物件傳遞給元件,這一個物件被稱為 "props"
63+
當 React 元素為使用者定義的 component 時,它會將 JSX 所接收的屬性作為一個物件傳遞給 component,這一個物件被稱為props
6464

65-
舉例來說,這段程式碼會在頁面上繪製出 "Hello, Sara"
65+
舉例來說,這段程式碼會在頁面上 render 出「Hello, Sara
6666

6767
```js{1,5}
6868
function Welcome(props) {
@@ -81,21 +81,21 @@ ReactDOM.render(
8181
讓我們來複習一下這個例子發生了什麼事:
8282

8383
1. 我們對 `<Welcome name="Sara" />` 這個元素調用了 `ReactDOM.render()`
84-
2. React 以 `{name: 'Sara'}` 作為 props 傳入 `Welcome` 元件並呼叫
85-
3. `Welcome` 元件回傳了 `<h1>Hello, Sara</h1>` 元素作為返回值。
84+
2. React 以 `{name: 'Sara'}` 作為 props 傳入 `Welcome` component 並呼叫
85+
3. `Welcome` component 回傳了 `<h1>Hello, Sara</h1>` 元素作為返回值。
8686
4. React DOM 高效率的將 DOM 更新為 `<h1>Hello, Sara</h1>`
8787

88-
>**注意:** 元件的字首須為大寫字母
88+
>**注意:** Component 的字首須為大寫字母
8989
>
90-
>React 會將小寫字母開頭的組件視為原始 DOM 標籤,舉例來說,`<div />` 就會被視為是 HTML 的 div 標籤,但是 `<Welcome />` 則是一個元件,而且需要在作用域中使用 `Welcome`
90+
>React 會將小寫字母開頭的組件視為原始 DOM 標籤,舉例來說,`<div />` 就會被視為是 HTML 的 div 標籤,但是 `<Welcome />` 則是一個 component,而且需要在作用域中使用 `Welcome`
9191
>
92-
>想要了解更多此約定背後的原因,請參閱 [JSX In Depth](/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized) 章節。
92+
>想要了解更多關於此慣例的原因,請參閱 [JSX In Depth](/docs/jsx-in-depth.html#user-defined-components-must-be-capitalized) 章節。
9393
94-
## 組合元件{#composing-components}
94+
## 組合 component {#composing-components}
9595

96-
元件可以在輸出中引用其他元件。我們可以在任何層次中抽象化相同的元件,按鈕、表單、對話框、甚至是整個畫面,在 React 應用程式中都將以元件的方式呈現
96+
Component 可以在輸出中引用其他 component。我們可以在任何層次中抽象化相同的 component,按鈕、表單、對話框、甚至是整個畫面,在 React 應用程式中都將以 component 的方式呈現
9797

98-
舉例來說,我們可以建立一個繪製多次 `Welcome``App` 元件
98+
舉例來說,我們可以建立一個 render 多次 `Welcome``App` component
9999

100100
```js{8-10}
101101
function Welcome(props) {
@@ -120,9 +120,9 @@ ReactDOM.render(
120120

121121
[在 CodePen 上試試看吧!](codepen://components-and-props/composing-components)
122122

123-
通常來說,每個 React 應用程式都有一個最高層級的 `App` 元件。然而,如果你將 React 結合至現存的應用程式中,你可能需要使用項 `Button` 這樣的小元件,並由下往上,逐步應用到畫面的最高層級。
123+
通常來說,每個 React 應用程式都有一個最高層級的 `App` component。然而,如果你將 React 結合至現存的應用程式中,你可能需要使用像 `Button` 這樣的小型 component,並由下往上,逐步應用到畫面的最高層級。
124124

125-
## 抽取元件 {#extracting-components}
125+
## 抽取 component {#extracting-components}
126126

127127
別害怕將 component 分成更小的 component。
128128

@@ -154,9 +154,9 @@ function Comment(props) {
154154

155155
[在 CodePen 上試試看吧!](codepen://components-and-props/extracting-components)
156156

157-
它接受 `author` (一個物件)、`text` (一個字串)、還有 `date` (一個日期) 作為它的 props。它的作用是在一個社交網站上繪製一個 comment
157+
它接受 `author` (一個物件)、`text` (一個字串)、還有 `date` (一個日期) 作為它的 props。它的作用是在一個社交網站上 render 一則評論
158158

159-
這個元件可能因為太多的巢狀關係而難以更動,而且也難以復用獨立的部分。讓我們把一些元件從中分離吧
159+
這個 component 可能因為太多的巢狀關係而難以更動,而且也難以復用獨立的部分。讓我們把一些 component 從中分離吧
160160

161161
首先, 我們將 `Avatar` 分離出來:
162162

@@ -171,9 +171,9 @@ function Avatar(props) {
171171
}
172172
```
173173

174-
這個 `Avatar` 並不需知道他會被繪製在 `Comment` 中。這是為什麼我們給他一個更為一般的名字: `user` 而不是 `author`.
174+
這個 `Avatar` 並不需知道他會被 render 在 `Comment` 中。這是為什麼我們給他一個更為一般的名字: `user` 而不是 `author`.
175175

176-
我們建議從元件的角度為 props 命名,而不是它的使用情境。
176+
我們建議從 component 的角度為 props 命名,而不是它的使用情境。
177177

178178
現在我們可以稍微簡化 `Comment`
179179

@@ -198,7 +198,7 @@ function Comment(props) {
198198
}
199199
```
200200

201-
接下來,我們將 `UserInfo` 元件也分離出來,它會在使用者名稱旁邊繪製 `Avatar` 元件
201+
接下來,我們將 `UserInfo` component 也分離出來,它會在使用者名稱旁邊 render `Avatar` component
202202

203203
```js{3-8}
204204
function UserInfo(props) {
@@ -233,11 +233,11 @@ function Comment(props) {
233233

234234
[在 CodePen 上試試看吧!](codepen://components-and-props/extracting-components-continued)
235235

236-
在一開始,將元件分離出來可能是一件繁重的工作,但是在較大的應用程式中,建構可復用的元件是非常值得。以經驗來說,如果一個 UI 中有一部分會被重複使用很多次(`Button``Panel``Avatar`),或者它足夠複雜到自成一個元件`App``FeedStory``Comment`),那它就適合被抽出作為一個可復用的元件
236+
在一開始,將 component 分離出來可能是一件繁重的工作,但是在較大的應用程式中,建構可復用的 component 是非常值得。以經驗來說,如果一個 UI 中有一部分會被重複使用很多次(`Button``Panel``Avatar`),或者它足夠複雜到自成一個 component`App``FeedStory``Comment`),那它就適合被抽出作為一個可復用的 component
237237

238238
## Props 的唯獨性 {#props-are-read-only}
239239

240-
不管你使用[函式或是類別來宣告元件](#function-and-class-components)都絕不能修改自己的props。例如這個 sum 函式:
240+
不管你使用[函式或是 Class 來宣告 component](#function-and-class-components)都絕不能修改自己的 props。例如這個 sum 函式:
241241

242242
```js
243243
function sum(a, b) {
@@ -257,6 +257,6 @@ function withdraw(account, amount) {
257257

258258
React 是很彈性的,但有一條嚴格的規定:
259259

260-
**所有的 React 元件都必須像純函數函式一般保護他的 props**
260+
**所有的 React component 都必須像純函數函式一般保護他的 props**
261261

262-
當然,應用程式的 UI 是動態的,而且總是隨著時間改變。在[下個章節](/docs/state-and-lifecycle.html),我們會介紹一個新的概念 "state"。State 可以在不違反上述規則的前提下,讓 React 元件隨使用者操作、網路回應、或是其他方式改變輸出內容。
262+
當然,應用程式的 UI 是動態的,而且總是隨著時間改變。在[下個章節](/docs/state-and-lifecycle.html),我們會介紹一個新的概念state。State 可以在不違反上述規則的前提下,讓 React component 隨使用者操作、網路回應、或是其他方式改變輸出內容。

content/docs/nav.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
- id: rendering-elements
1919
title: Rendering Elements
2020
- id: components-and-props
21-
title: 元件與 Props
21+
title: Components 與 Props
2222
- id: state-and-lifecycle
2323
title: State and Lifecycle
2424
- id: handling-events

0 commit comments

Comments
 (0)