Skip to content

Commit da72bfa

Browse files
committed
fix review
1 parent 4f16a07 commit da72bfa

File tree

2 files changed

+24
-24
lines changed

2 files changed

+24
-24
lines changed

content/docs/reference-dom-elements.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Có một vài thuộc tính hoạt động khác biệt giữa React và HTML:
2424

2525
### checked {#checked}
2626

27-
Thuộc tính `checked` được hỗ trợ bởi các component `<input>` với kiểu `checkbox` hoặc `radio`. Bạn có thể dùng nó để thiết lập cho component có được checked hay chưa. Điều này hữu ích khi xây dựng những component kiểm soát, xem mục Component Kiểm Soát để biết thêm. `defaultChecked` được dùng để đặt giá trị ban đầu của input, được dùng để tạo những Component Không Kiểm Soát.
27+
Thuộc tính `checked` được hỗ trợ bởi các component `<input>` với kiểu `checkbox` hoặc `radio`. Bạn có thể dùng nó để thiết lập cho component có được checked hay chưa. Điều này hữu ích khi xây dựng những Component Kiểm Soát. `defaultChecked` là giá trị không kiểm soát, nó sẽ quyết định component có được chọn hay không khi nó được mount lần đầu tiên.
2828

2929
### className {#classname}
3030

@@ -34,7 +34,7 @@ Nếu bạn sử dụng React với Web Components (trường hợp không phổ
3434

3535
### dangerouslySetInnerHTML {#dangerouslysetinnerhtml}
3636

37-
`dangerouslySetInnerHTML` tương đương với `innerHTML` trong DOM. Nhìn chung, việc thay đổi DOM từ Javascript nguy hiểm do mình có thể vô tình để người dùng bị tấn công bởi [cross-site scripting (XSS)](https://en.wikipedia.org/wiki/Cross-site_scripting). Vì vậy, React có thể tạo HTML trực tiếp, nhưng bạn phải sử dụng `dangerouslySetInnerHTML` và truyền một object với key là `_html` để nhăc bạn nhớ rằng điều này không an toàn. Ví dụ:
37+
`dangerouslySetInnerHTML` tương đương với `innerHTML` trong DOM. Nhìn chung, việc thay đổi DOM từ Javascript khá rủi ro do có thể vô tình để lộ người dùng [cross-site scripting (XSS)](https://en.wikipedia.org/wiki/Cross-site_scripting). Vì vậy, React có thể tạo HTML trực tiếp, nhưng bạn phải sử dụng `dangerouslySetInnerHTML` và truyền một object với key là `_html` để nhăc bạn nhớ rằng điều này không an toàn. Ví dụ:
3838

3939
```js
4040
function createMarkup() {
@@ -52,19 +52,19 @@ Do `for` là một từ khoá trong Javascript, React dùng `htmlFor`.
5252

5353
### onChange {#onchange}
5454

55-
Sự kiện `onChange` hoạt động đúng như tên gọi của nó: khi một giá trị của trường mẫu bị thay đổi, sự kiện này được phát ra. Chúng tôi cố tình không sử dụng hành vi của trình duyệt bởi vì `onChange` được hiểu sai co hành vi của nó và React dựa vào sự kiện này để xử lý đầu vào của người dùng trong thời gian thực.
55+
Sự kiện `onChange` hoạt động đúng như tên gọi của nó: khi một giá trị của trường mẫu bị thay đổi, sự kiện này được phát ra. Chúng tôi cố tình không sử dụng hành vi của trình duyệt bởi vì `onChange` được hiểu sai bởi chính hành vi của nó và React dựa vào sự kiện này để xử lý đầu vào của người dùng trong thời gian thực.
5656

5757
### selected {#selected}
5858

59-
Thuộc tính `selected` được sử dụng trong `<option>` để đánh dấu option nào được chọn trong một `<select>` cho những Component Kiểm Soát.
59+
Thuộc tính `selected` được sử dụng trong `<option>` để đánh dấu option nào được chọn trong một `<select>`. Điều này hữu ích khi tạo ra các Component Kiểm Soát.
6060

6161
### style {#style}
6262

6363
>Lưu ý
6464
>
65-
>Một vài ví dụ trong tài liệu này sử dụng `style` cho tiện, thực tế **sử dụng thuộc tính `style` tại chỗ không được khuyến khích .** Trong đa số các trường hợp, [`className`](#classname) nên được dùng cùng với một file CSS rời để style. Thuộc tính `style` thường được dùng trong React để style động ví dụ như người dùng thay đổi màu hoặc font-size bằng một input. Xem thêm [FAQ: Styling and CSS](/docs/faq-styling.html).
65+
>Một vài ví dụ trong tài liệu này sử dụng `style` cho tiện, thực tế **sử dụng thuộc tính `style` trực tiếp không được khuyến khích .** Trong đa số các trường hợp, [`className`](#classname) nên được dùng cùng với một file CSS rời để style. Thuộc tính `style` thường được dùng trong React để trỏ tới những class được định nghiã ở stylesheet css bên ngoài. Xem thêm [FAQ: Styling and CSS](/docs/faq-styling.html).
6666
67-
Thuộc tính `style` nhận vào một object với các thuộc tính CSS ở dạng camelCase thay vì một chuỗi CSS. Nó sẽ nhất quán với key của object trong Javascript, hiệu quả hơn và đề phòng những lỗ hỗng bảo mật XSS. Ví dụ:
67+
Thuộc tính `style` nhận vào một object với các thuộc tính CSS ở dạng camelCase thay vì một chuỗi CSS. Nó sẽ nhất quán với thuộc tính `style` của Javascript trên DOM, hiệu quả hơn và đề phòng những lỗ hỗng bảo mật XSS. Ví dụ:
6868

6969
```js
7070
const divStyle = {
@@ -82,17 +82,17 @@ Nhớ rằng styles không tự động thêm tiền tố. Để tương thích
8282
```js
8383
const divStyle = {
8484
WebkitTransition: 'all', // nhớ là chữ 'W' được viết hoa
85-
msTransition: 'all' // 'ms' là tiếp đầu ngữ duy nhất được viết thường
85+
msTransition: 'all' // 'ms' là tiền tố duy nhất được viết thường
8686
};
8787

8888
function ComponentWithTransition() {
8989
return <div style={divStyle}>This should work cross-browser</div>;
9090
}
9191
```
9292

93-
Các thuộc tính css được camelCase để đồng nhất với Javascript, ví dụ `node.style.backgroundImage`. Các tiếp đầu ngữ [ngoài `ms`](https://www.andismith.com/blogs/2012/02/modernizr-prefixed/) phải được bắt đầu bằng một chữ hoa ví dụ như `WebkitTransition`.
93+
Các từ khoá style được viết theo dạng camelCase để đồng nhất với việc truy cập các thuộc tính trên DOM từ Javascript, ví dụ `node.style.backgroundImage`. Các tiền tố [ngoài `ms`](https://www.andismith.com/blogs/2012/02/modernizr-prefixed/) phải được bắt đầu bằng một chữ hoa ví dụ như `WebkitTransition`.
9494

95-
React sẽ tự động thêm hệu tố "px" vào sau một vài kiểu thuộc tính số inline nhất định. Nếu bạn muốn sử dụng đơn vị khác, hãy chỉ định giá trị như là một chuỗi với đơn vị bạn muốn, ví dụ:
95+
React sẽ tự động thêm hậu tố "px" vào sau một vài kiểu thuộc tính số inline nhất định. Nếu bạn muốn sử dụng đơn vị khác ngoài 'px', hãy thêm đơn vị mong muốn dưới dạng chuỗi, ví dụ:
9696

9797
```js
9898
// Result style: '10px'
@@ -126,17 +126,17 @@ Thuộc tính `value` được hỗ trợ bởi những component `<input>` và
126126

127127
Trong React 16, [tất cả](/blog/2017/09/08/dom-attributes-in-react-16.html) thuộc tính DOM đều được hỗ trợ.
128128

129-
React đã luôn được viết với Javascript làm trọng tâm nên hầu hết các thuộc tính DOM đều được viết ở dạng `camelCase` tương tự như DOM API. Ví dụ như:
129+
React luôn cung cấp một API với trọng tâm là javascript cho DOM. Bời vì những React component thường nhận những props được tuỳ chỉnh hoặc có liên quan tới DOM, React sử dụng quy ước `camelCase` như là các DOM APIs. Ví dụ như:
130130

131131
```js
132132
<div tabIndex="-1" /> // tương tự node.tabIndex DOM API
133133
<div className="Button" /> // tương tự node.className DOM API
134134
<input readOnly={true} /> // tương tự node.readOnly DOM API
135135
```
136136

137-
Những thuộc tính này gần giống với thuộc tính HTML, với những ngoại lệ liệt kê ở trên.
137+
Những thuộc tính này hoạt động tương tự với thuộc tính HTML, với những ngoại lệ liệt kê ở trên.
138138

139-
Một vài thuộc tính DOM dc React hỗ trợ như:
139+
Một vài thuộc tính DOM được React hỗ trợ như:
140140

141141
```
142142
accept acceptCharset accessKey action allowFullScreen alt async autoComplete
@@ -193,4 +193,4 @@ xlinkHref xlinkRole xlinkShow xlinkTitle xlinkType xmlns xmlnsXlink xmlBase
193193
xmlLang xmlSpace y y1 y2 yChannelSelector z zoomAndPan
194194
```
195195

196-
Bạn có thể sử dụng thuộc tính tự định ra nhưng phải được viết bằng chữ thường.
196+
Bạn có thể sử dụng thuộc tính tự tạo nhưng phải được viết bằng chữ thường.

content/docs/reference-events.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ layout: docs
66
category: Reference
77
---
88

9-
Tìa liệu này nhằm giải thích `SyntheticEvent` trong Hệ thống Event của React. Xem [Handling Events](/docs/handling-events.html) để biết thêm chi tiết.
9+
Tài liệu này nhằm giải thích `SyntheticEvent` trong Hệ thống Event của React. Xem [Handling Events](/docs/handling-events.html) để biết thêm chi tiết.
1010

1111
## Tổng quan {#overview}
1212

13-
Các hàm xử lý sự kiện sẽ được truyền vào một instance của `SyntheticEvent` (một lớp bọc các event để triệt tiêu sự khác nhau về event của các trình duyệt). No có giao diện (interface) tương tự như một event của trình duyệt, bao gồm `stopPropagation()`, và `preventDefault()` và hoạt động giống nhau cho mọi trình duyệt.
13+
Các hàm xử lý sự kiện sẽ được truyền vào một instance của `SyntheticEvent` (một lớp bọc các event để triệt tiêu sự khác nhau về event của các trình duyệt). có giao diện (interface) tương tự như một event của trình duyệt, bao gồm `stopPropagation()`, và `preventDefault()` và hoạt động giống nhau trên mọi trình duyệt.
1414

15-
Nếu bạn cần lấy event thật từ trình duyệt vì một lý do nào đó, chỉ cần sử dụng thuộc tính `nativeEvent` là được. Mọi `SyntheticEvent` object đều có những thuộc tính sau:
15+
Nếu bạn cần lấy event từ trình duyệt vì một lý do nào đó, chỉ cần sử dụng thuộc tính `nativeEvent` là được. Mọi `SyntheticEvent` object đều có những thuộc tính sau:
1616

1717
```javascript
1818
boolean bubbles
@@ -37,9 +37,9 @@ string type
3737
3838
### Gộp Event {#event-pooling}
3939

40-
Một `SyntheticEvent` sẽ được gộp lại nghĩa là event object sẽ được sử dụng lại và tất cả thuộc tính trong object đó sẽ bị gán null sau khi hàm xử lý event chạy xong.
40+
Một `SyntheticEvent` sẽ được gộp lại nghĩa là `SyntheticEvent` object sẽ được sử dụng lại và tất cả thuộc tính trong object đó sẽ bị gán null sau khi hàm xử lý event chạy xong.
4141
Việc làm này nhằm tăng hiệu suất.
42-
Vì vậy, bạn không thể dùng event object một cách asynchronous. Ví dụ:
42+
Vì vậy, bạn không thể dùng truy cập sự kiện theo phương pháp không đồng bộ. Ví dụ:
4343

4444
```javascript
4545
function onClick(event) {
@@ -55,7 +55,7 @@ function onClick(event) {
5555
// Không chạy. this.state.clickEvent sẽ là một object có tất cả thuộc tính null.
5656
this.setState({clickEvent: event});
5757

58-
// Bạn vẫn có thể giữ thuộc tính đó do nó là primitive.
58+
// Bạn vẫn có thể truy xuất các thuộc tính của event.
5959
this.setState({eventType: event.type});
6060
}
6161
```
@@ -179,7 +179,7 @@ Tên Event:
179179
onChange onInput onInvalid onSubmit
180180
```
181181

182-
Xem thêm thông tin về Form Event ở [Forms](/docs/forms.html).
182+
Xem thêm thông tin về onChange event [Forms](/docs/forms.html).
183183

184184
* * *
185185

@@ -193,7 +193,7 @@ onDragLeave onDragOver onDragStart onDrop onMouseDown onMouseEnter onMouseLeave
193193
onMouseMove onMouseOut onMouseOver onMouseUp
194194
```
195195

196-
Event `onMouseEnter``onMouseLeave` lan ra từ element được rời đi và không có capture.
196+
Event `onMouseEnter``onMouseLeave` phát ra từ element được rời đi tới element được đi vào thay vì bubble như bình thường và không có giai đoạn capture.
197197

198198
Thuộc tính:
199199

@@ -225,7 +225,7 @@ onPointerDown onPointerMove onPointerUp onPointerCancel onGotPointerCapture
225225
onLostPointerCapture onPointerEnter onPointerLeave onPointerOver onPointerOut
226226
```
227227

228-
Event `onPointerEnter``onPointerLeave` lan ra từ element được rời đi và không có capture.
228+
Event `onPointerEnter``onPointerLeave` phát ra từ element được rời đi tới element được đi vào thay vì bubble như bình thường và không có giai đoạn capture.
229229

230230
Thuộc tính:
231231

@@ -246,9 +246,9 @@ boolean isPrimary
246246

247247
Lưu ý về hỗ trợ trình duyệt
248248

249-
Pointer events chưa được hỗ trợ trong tất cả trình duyệt (tại thời điểm viết bài này, những trình duyệt được hỗ trợ: Chrome, Firefox, Edge, and Internet Explorer)). React không cố để polyfill cho những trình duyệt khác vì nó sẽ làm `react-dom` anng85 hơn rất nhiều.
249+
Pointer events chưa được hỗ trợ trong tất cả trình duyệt (tại thời điểm viết bài này, những trình duyệt được hỗ trợ: Chrome, Firefox, Edge, and Internet Explorer)). React không cố để polyfill cho những trình duyệt khác vì nó sẽ làm tăng dung lượng `react-dom` một cách đáng kể.
250250

251-
Nếu bạn cần pointer event, chúng tôi khuyến khích thêm polyfill cho nó.
251+
Nếu bạn cần pointer event, chúng tôi khuyến khích sử dụng pointer event polyfill từ bên thứ ba cho nó.
252252

253253
* * *
254254

0 commit comments

Comments
 (0)