Skip to content

Commit 20c18e2

Browse files
authored
Merge pull request #11 from neighborhood999/rendering-elements
docs(tw): translate rendering elements
2 parents d95ee65 + 374870f commit 20c18e2

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

content/docs/rendering-elements.md

+27-27
Original file line numberDiff line numberDiff line change
@@ -1,75 +1,75 @@
11
---
22
id: rendering-elements
3-
title: Rendering Elements
3+
title: Render Element
44
permalink: docs/rendering-elements.html
55
redirect_from:
66
- "docs/displaying-data.html"
77
prev: introducing-jsx.html
88
next: components-and-props.html
99
---
1010

11-
Elements are the smallest building blocks of React apps.
11+
建立 React 應用程式最小的單位是 element。
1212

13-
An element describes what you want to see on the screen:
13+
一個 element 描述你想要在螢幕上所看到的:
1414

1515
```js
1616
const element = <h1>Hello, world</h1>;
1717
```
1818

19-
Unlike browser DOM elements, React elements are plain objects, and are cheap to create. React DOM takes care of updating the DOM to match the React elements.
19+
與瀏覽器的 DOM element 不同,React element 是單純的 object,而且很容易被建立。React DOM 負責更新 DOM 來符合 React element。
2020

21-
>**Note:**
21+
>**注意:**
2222
>
23-
>One might confuse elements with a more widely known concept of "components". We will introduce components in the [next section](/docs/components-and-props.html). Elements are what components are "made of", and we encourage you to read this section before jumping ahead.
23+
>大家可能會將 element 與更廣為人知的「component」概念混淆。我們將會在[下一個章節](/docs/components-and-props.html)介紹 component。Element 是由 component 所「組成」的,我們建議你在開始之前閱讀本章節。
2424
25-
## Rendering an Element into the DOM {#rendering-an-element-into-the-dom}
25+
## Render Element DOM {#rendering-an-element-into-the-dom}
2626

27-
Let's say there is a `<div>` somewhere in your HTML file:
27+
假設你的 HTML 檔案內有一個 `<div>`
2828

2929
```html
3030
<div id="root"></div>
3131
```
3232

33-
We call this a "root" DOM node because everything inside it will be managed by React DOM.
33+
我們稱為這是一個「rootDOM node,因為所有在內的 element 都會透過 React DOM 做管理。
3434

35-
Applications built with just React usually have a single root DOM node. If you are integrating React into an existing app, you may have as many isolated root DOM nodes as you like.
35+
使用 React 建立應用程式時,通常會有一個單一的 root DOM node。如果你想要整合 React 到現有的應用程式時,你可以根據你的需求獨立出多個 root DOM node。
3636

37-
To render a React element into a root DOM node, pass both to `ReactDOM.render()`:
37+
如果要 render 一個 React element root DOM node,傳入兩者到 `ReactDOM.render()`
3838

3939
`embed:rendering-elements/render-an-element.js`
4040

41-
[](codepen://rendering-elements/render-an-element)
41+
[**在 CodePen 上試試看吧!**](codepen://rendering-elements/render-an-element)
4242

43-
It displays "Hello, world" on the page.
43+
在網頁上你會看見顯示「Hello, world」。
4444

45-
## Updating the Rendered Element {#updating-the-rendered-element}
45+
## 更新被 Render 的 Element {#updating-the-rendered-element}
4646

47-
React elements are [immutable](https://en.wikipedia.org/wiki/Immutable_object). Once you create an element, you can't change its children or attributes. An element is like a single frame in a movie: it represents the UI at a certain point in time.
47+
React element 是 [immutable](https://en.wikipedia.org/wiki/Immutable_object) 的。一旦你建立一個 element,你不能改變它的 children 或是 attribute。Element 就像是電影中的一個幀:它代表特定時間點的 UI。
4848

49-
With our knowledge so far, the only way to update the UI is to create a new element, and pass it to `ReactDOM.render()`.
49+
憑藉我們迄今為止對 React 的認識,更新 UI 唯一的方式是建立一個新的 element,並且將它傳入到 `ReactDOM.render()`
5050

51-
Consider this ticking clock example:
51+
思考以下這個 ticking clock 的範例:
5252

5353
`embed:rendering-elements/update-rendered-element.js`
5454

55-
[](codepen://rendering-elements/update-rendered-element)
55+
[**在 CodePen 上試試看吧!**](codepen://rendering-elements/update-rendered-element)
5656

57-
It calls `ReactDOM.render()` every second from a [`setInterval()`](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) callback.
57+
它從 [`setInterval()`](https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setInterval) callback 每秒呼叫 `ReactDOM.render()`
5858

59-
>**Note:**
59+
>**注意:**
6060
>
61-
>In practice, most React apps only call `ReactDOM.render()` once. In the next sections we will learn how such code gets encapsulated into [stateful components](/docs/state-and-lifecycle.html).
61+
>在實踐中,大部分 React 應用程式只呼叫 `ReactDOM.render()` 一次。在下一個章節中,我們將會學習如何將這些程式碼封裝到 [stateful component](/docs/state-and-lifecycle.html)
6262
>
63-
>We recommend that you don't skip topics because they build on each other.
63+
>我們建議你不要跳著主題看,因為它們彼此間是環環相扣的。
6464
65-
## React Only Updates What's Necessary {#react-only-updates-whats-necessary}
65+
## React 只更新必要的 Element {#react-only-updates-whats-necessary}
6666

67-
React DOM compares the element and its children to the previous one, and only applies the DOM updates necessary to bring the DOM to the desired state.
67+
React DOM 會將 element 和它的 children 與先前的狀態做比較,並且只更新必要的 DOM 達到理想的狀態。
6868

69-
You can verify by inspecting the [last example](codepen://rendering-elements/update-rendered-element) with the browser tools:
69+
你可以透過瀏覽器工具來檢測[最後一個範例](codepen://rendering-elements/update-rendered-element)做驗證:
7070

7171
![DOM inspector showing granular updates](../images/docs/granular-dom-updates.gif)
7272

73-
Even though we create an element describing the whole UI tree on every tick, only the text node whose contents has changed gets updated by React DOM.
73+
即使我們在每秒建立一個 element 描述整個 UI tree,只有內容更改的 text node 才會被 React DOM 更新。
7474

75-
In our experience, thinking about how the UI should look at any given moment rather than how to change it over time eliminates a whole class of bugs.
75+
根據我們的經驗,應該思考 UI 在任何時候應該如何呈現,而不是隨著時間的推移去消除錯誤。

0 commit comments

Comments
 (0)