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/faq-functions.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ Truyền một sự kiện xử lý và một function khác như là một prop
16
16
17
17
Nếu bạn cần truy cập vào component cha trong xử lý, bạn cần phải bind function cụ thể với một component (xem bên dưới).
18
18
19
-
### Làm sao Tôi bind một function cho component cụ thể? {#how-do-i-bind-a-function-to-a-component-instance}
19
+
### Làm sao tôi bind một function cho component cụ thể? {#how-do-i-bind-a-function-to-a-component-instance}
20
20
21
21
Có một số cách để đảm bảo các function có quyền truy cập vào các thuộc tính component như `this.props` và `this.state`, tùy thuộc vào cú pháp và các bước xây dựng mà bạn đang sử dụng.
22
22
@@ -85,7 +85,7 @@ class Foo extends Component {
85
85
>
86
86
>Sử dụng arrow function trong hàm render tạo ra một function mới mỗi lần component renders, điều đó làm phá vỡ tính tối ưu dựa trên so sánh các định danh.
87
87
88
-
### Nó có OK khi sử dụng arrow function trong hàm render? {#is-it-ok-to-use-arrow-functions-in-render-methods}
88
+
### Có được sử dụng arrow function trong hàm render không? {#is-it-ok-to-use-arrow-functions-in-render-methods}
89
89
90
90
Nói chung, đồng ý, nó OK, và nó thường là cách dễ nhất để truyền tham số cho các callback functions.
91
91
@@ -262,7 +262,7 @@ class LoadMoreButton extends React.Component {
262
262
263
263
#### Debounce {#debounce}
264
264
265
-
Debounce đảm bảo rằng một hàm sẽ không được thực thi cho đến khi một khoảng thời gian nhất định trôi qua kể từ khi nó được gọi lần cuối. Điều này có thể hữu ích khi bạn phải thực hiện một số tính toán phức tạp để đáp ứng với một sự kiện có thể gửi đi nhanh chóng (ví dụ: các sự kiện scroll hoặc bàn phím). Ví dụ dưới đây nhập văn bản với độ trễ 250ms.
265
+
Debounce đảm bảo rằng một hàm sẽ không được thực thi sau một khoảng thời gian nhất định kể từ khi nó được gọi lần cuối. Điều này có thể hữu ích khi bạn phải thực hiện một số tính toán phức tạp để đáp ứng với một sự kiện có thể gửi đi nhanh chóng (ví dụ: các sự kiện scroll hoặc bàn phím). Ví dụ dưới đây nhập văn bản với độ trễ 250ms.
266
266
267
267
```jsx
268
268
importdebouncefrom'lodash.debounce';
@@ -304,7 +304,7 @@ class Searchbox extends React.Component {
[`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) là một cách xếp hàng một chức năng sẽ được thực thi trong trình duyệt tại thời điểm tối ưu để hiển thị hiệu suất. Một chức năng được xếp hàng trong `requestAnimationFrame` sẽ kích hoạt trong khung tiếp theo. Trình duyệt sẽ làm việc liên tục để đảm bảo có 60 khung hình mỗi giây (60 fps). Tuy nhiên, nếu trình duyệt không thể, nó sẽ tự nhiên *giới hạn* số lượng khung hình trong một giây. Ví dụ: một thiết bị có thể chỉ có thể xử lý 30 fps và do đó bạn sẽ chỉ nhận được 30 khung hình trong giây đó. Sử dụng `requestAnimationFrame` để điều chỉnh là một kỹ thuật hữu ích ở chỗ nó ngăn bạn thực hiện hơn 60 cập nhật trong một giây. Nếu bạn đang thực hiện 100 bản cập nhật trong một giây, điều này sẽ tạo ra công việc bổ sung cho trình duyệt mà người dùng sẽ không thấy.
307
+
[`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) à cách sắp xếp thứ tự thực thi của một hàm trên trình duyệt tại thời điểm tối ưu cho hiệu suất hiển thị. Một hàm được xếp trong `requestAnimationFrame` sẽ kích hoạt trong khung tiếp theo. Trình duyệt sẽ làm việc liên tục để đảm bảo có 60 khung hình mỗi giây (60 fps). Tuy nhiên, nếu trình duyệt không thể, nó sẽ tự nhiên *giới hạn* số lượng khung hình trong một giây. Ví dụ: một thiết bị có thể chỉ có thể xử lý 30 fps và do đó bạn sẽ chỉ nhận được 30 khung hình trong giây đó. Sử dụng `requestAnimationFrame` để điều chỉnh là một kỹ thuật hữu ích ở chỗ nó ngăn bạn thực hiện hơn 60 cập nhật trong một giây. Nếu bạn đang thực hiện 100 bản cập nhật trong một giây, nó sẽ tạo ra thêm việc cho trình duyệt mà người dùng không hề nhìn thấy.
Copy file name to clipboardExpand all lines: content/docs/faq-styling.md
+3-3Lines changed: 3 additions & 3 deletions
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ layout: docs
6
6
category: FAQ
7
7
---
8
8
9
-
### Làm thế nào tôi chèn class CSS cho component? {#how-do-i-add-css-classes-to-components}
9
+
### Làm thế nào tôi chèn class CSS cho các component? {#how-do-i-add-css-classes-to-components}
10
10
11
11
Truyền tên của class cho prop là `className`:
12
12
@@ -42,9 +42,9 @@ Các class CSS thường sẽ có hiệu suất tốt hơn là inline styles.
42
42
43
43
### CSS-in-JS là gì? {#what-is-css-in-js}
44
44
45
-
"CSS-in-JS" đề cập đến một pattern trong đó CSS được tạo bằng JavaScript thay vì được sử dụng trong các tệp bên ngoài. Đọc một bài viết so sánh các thư viện CSS-in-JS [ở đây](https://github.com/MicheleBertoli/css-in-js).
45
+
"CSS-in-JS" đề cập đến một pattern trong đó CSS được tạo bằng JavaScript thay vì được định nghĩa trong các tệp bên ngoài. Đọc một bài viết so sánh các thư viện CSS-in-JS [ở đây](https://github.com/MicheleBertoli/css-in-js).
46
46
47
-
_Lưu ý đây là thư viện không phải của React, nhưng được cung câp bởi thư viện thứ ba._ React không có ý kiến về cách xác định style; nếu nghi ngờ, một điểm khởi đầu tốt là xác định style riêng của bạn trong tệp `*.css`như bình thường và tham khảo chúng bằng[`className`](/docs/dom-elements.html#classname).
47
+
_Lưu ý đây không phải là thư viện của React, nhưng được cung câp bởi thư viện thứ ba._ React không có ý kiến về cách xác định style; nếu nghi ngờ, bạn có thể định nghĩa style trong một tệp `*.css`riêng và tham chiếu tới chúng sử dụng[`className`](/docs/dom-elements.html#classname).
48
48
49
49
### Tôi có thể dùng animations trong React? {#can-i-do-animations-in-react}
0 commit comments