You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/docs/lists-and-keys.md
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -6,9 +6,9 @@ prev: conditional-rendering.html
6
6
next: forms.html
7
7
---
8
8
9
-
Đầu tiên, hãy xem lại cách bạn chuyển đổi danh sách (lists) trong Javascript.
9
+
Đầu tiên, hãy xem lại cách bạn chuyển đổi "danh sách" (lists) trong Javascript.
10
10
11
-
Trong đoạn code bên dưới, chúng ta sử dụng hàm [`map()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) để nhân đôi giá trị của từng phần tử trong mảng `numbers`. Chúng ta gán mảng mới là kết quả trả về từ hàm `map()` vào biến `doubled` và xuất kết quả đó ra:
11
+
Trong đoạn code bên dưới, chúng ta sử dụng hàm [`map()`](https://developer.mozilla.org/vi/docs/Web/JavaScript/Reference/Global_Objects/Array/map) để nhân đôi giá trị của từng phần tử trong mảng `numbers`. Chúng ta gán mảng mới là kết quả trả về từ hàm `map()` vào biến `doubled` và xuất kết quả đó ra:
12
12
13
13
```javascript{2}
14
14
const numbers = [1, 2, 3, 4, 5];
@@ -24,7 +24,7 @@ Trong React, việc chuyển đổi mảng các phần tử thành danh sách (a
24
24
25
25
Bạn có thể xây dựng nhiều tập hợp (collections) của các element và [nhúng những tập hợp element này vào JSX](/docs/introducing-jsx.html#embedding-expressions-in-jsx) bằng việc sử dụng dấu ngoặc nhọn `{}`.
26
26
27
-
Dưới đây, chúng ta sử dụng vòng lặp trên mảng `numbers` và sử dụng hàm [`map()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) trong JavaScript. Kết quả trả về là một thẻ `<li>` cho mỗi vòng lặp. Cuối cùng, chúng ta gán mảng kết quả gồm những element (thẻ `<li>`) cho `listItems`:
27
+
Dưới đây, chúng ta sử dụng vòng lặp trên mảng `numbers` và sử dụng hàm [`map()`](https://developer.mozilla.org/vi/docs/Web/JavaScript/Reference/Global_Objects/Array/map) trong JavaScript. Kết quả trả về là một thẻ `<li>` cho mỗi vòng lặp. Cuối cùng, chúng ta gán mảng kết quả gồm những element (thẻ `<li>`) cho `listItems`:
28
28
29
29
```javascript{2-4}
30
30
const numbers = [1, 2, 3, 4, 5];
@@ -42,7 +42,7 @@ ReactDOM.render(
42
42
);
43
43
```
44
44
45
-
[**Chạy thử trên CodePen**](https://codepen.io/gaearon/pen/GjPyQr?editors=0011)
45
+
[**Thử trên CodePen**](https://codepen.io/gaearon/pen/GjPyQr?editors=0011)
46
46
47
47
Đoạn code trên hiển thị một danh sách từ 1 đến 5 và có chứa các dấu chấm tròn trước mỗi số.
48
48
@@ -96,7 +96,7 @@ ReactDOM.render(
96
96
);
97
97
```
98
98
99
-
[**Chạy thử trên CodePen**](https://codepen.io/gaearon/pen/jrXYRR?editors=0011)
99
+
[**Thử trên CodePen**](https://codepen.io/gaearon/pen/jrXYRR?editors=0011)
100
100
101
101
## Keys {#keys}
102
102
@@ -204,7 +204,7 @@ ReactDOM.render(
204
204
);
205
205
```
206
206
207
-
[**Chạy thử trên CodePen**](https://codepen.io/gaearon/pen/ZXeOGM?editors=0010)
207
+
[**Thử trên CodePen**](https://codepen.io/gaearon/pen/ZXeOGM?editors=0010)
208
208
209
209
Một nguyên tắc nhỏ đó là các element bên trong hàm gọi `map()` cần các key.
210
210
@@ -248,7 +248,7 @@ ReactDOM.render(
248
248
);
249
249
```
250
250
251
-
[**Chạy thử trên CodePen**](https://codepen.io/gaearon/pen/NRZYGN?editors=0010)
251
+
[**Thử trên CodePen**](https://codepen.io/gaearon/pen/NRZYGN?editors=0010)
252
252
253
253
Các key được sử dụng để gợi ý cho React nhưng chúng không được truyền vào cho các component (Nghĩa là các component con sẽ không đọc được prop.key). Nếu bạn cần đọc giá trị giống với giá trị của key bên trong component của bạn, truyền giá trị đó như một prop với một cái tên khác:
254
254
@@ -298,6 +298,6 @@ function NumberList(props) {
298
298
}
299
299
```
300
300
301
-
[**Chạy thử trên CodePen**](https://codepen.io/gaearon/pen/BLvYrB?editors=0010)
301
+
[**Thử trên CodePen**](https://codepen.io/gaearon/pen/BLvYrB?editors=0010)
302
302
303
303
Thỉnh thoảng cách làm như trên làm code gọn gàng hơn, nhưng kiểu này cũng có thể bị lạm dụng. Như trong JavaScript, đôi khi bạn phải quyết định xem có cần phải tạo thêm một biến để cho dễ đọc hay không. Hãy nhớ rằng nếu bên trong hàm `map()` bị lồng (nested) quá nhiều, đó có thể là lúc thích hợp để [chia nhỏ một component](/docs/components-and-props.html#extracting-components).
0 commit comments