Skip to content

Commit c1e2b11

Browse files
committed
Keep element and fix reusable in zh-hant
1 parent ffe37a9 commit c1e2b11

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

content/docs/components-and-props.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ prev: rendering-elements.html
1616
next: state-and-lifecycle.html
1717
---
1818

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

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

2323
## Function Component 與 Class Component {#function-and-class-components}
2424

@@ -30,7 +30,7 @@ function Welcome(props) {
3030
}
3131
```
3232

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

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

@@ -48,19 +48,19 @@ class Welcome extends React.Component {
4848

4949
## Render 一個 Component {#rendering-a-component}
5050

51-
在此之前,我們只見過這種相當於 DOM 標籤的 React 元素
51+
在此之前,我們只見過這種相當於 DOM 標籤的 React element
5252

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

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

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

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

6565
舉例來說,這段程式碼會在頁面上 render 出「Hello, Sara」:
6666

@@ -80,9 +80,9 @@ ReactDOM.render(
8080

8181
讓我們來複習一下這個例子發生了什麼事:
8282

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

8888
>**注意:** Component 的字首須為大寫字母
@@ -156,7 +156,7 @@ function Comment(props) {
156156

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

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

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

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

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

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

@@ -233,7 +233,7 @@ function Comment(props) {
233233

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

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

238238
## Props 是唯讀的 {#props-are-read-only}
239239

0 commit comments

Comments
 (0)