Skip to content

Commit 97da65f

Browse files
merging all conflicts
2 parents 6745fda + 5119600 commit 97da65f

File tree

8 files changed

+17
-17
lines changed

8 files changed

+17
-17
lines changed

content/community/courses.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ permalink: community/courses.html
2828

2929
- [Egghead.io](https://egghead.io/browse/frameworks/react) - Short instructional videos on React and many other topics.
3030

31-
- [Frontend Masters](https://frontendmasters.com/courses/) - Video courses on React and other frontend frameworks.
31+
- [Frontend Masters](https://frontendmasters.com/learn/react/) - Video courses on React.
3232

3333
- [Fullstack React](https://www.fullstackreact.com/) - The up-to-date, in-depth, complete guide to React and friends.
3434

content/community/videos.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ Videos dedicated to the discussion of React and the React ecosystem.
1313
### React Conf 2019 {#react-conf-2019}
1414

1515
A playlist of videos from React Conf 2019.
16-
<iframe title="React Conf 2019" width="650" height="366" src="https://www.youtube-nocookie.com/embed/videoseries?list=PLPxbbTqCLbGHPxZpw4xj_Wwg8-fdNxJRh" frameborder="0" allowfullscreen></iframe>
16+
<iframe title="React Conf 2019" width="650" height="366" src="https://www.youtube-nocookie.com/embed/playlist?list=PLPxbbTqCLbGHPxZpw4xj_Wwg8-fdNxJRh" frameborder="0" allowfullscreen></iframe>
1717

1818
### React Conf 2018 {#react-conf-2018}
1919

2020
A playlist of videos from React Conf 2018.
21-
<iframe title="React Conf 2018" width="650" height="366" src="https://www.youtube-nocookie.com/embed/videoseries?list=PLPxbbTqCLbGE5AihOSExAa4wUM-P42EIJ" frameborder="0" allowfullscreen></iframe>
21+
<iframe title="React Conf 2018" width="650" height="366" src="https://www.youtube-nocookie.com/embed/playlist?list=PLPxbbTqCLbGE5AihOSExAa4wUM-P42EIJ" frameborder="0" allowfullscreen></iframe>
2222

2323
### React.js Conf 2017 {#reactjs-conf-2017}
2424

content/docs/code-splitting.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,11 @@ console.log(add(16, 26)); // 42
4242
4343
Nếu bạn đang sử dụng [Create React App](https://create-react-app.dev/), [Next.js](https://nextjs.org/), [Gatsby](https://www.gatsbyjs.org/), hay một công cụ tương tự, bạn sẽ được thiết lập sẵn webpack để đóng gói ứng dụng của mình.
4444

45+
<<<<<<< HEAD
4546
Nếu không, bạn sẽ cần phải tự thiết lập. Ví dụ, tham khảo [Cách cài đặt](https://webpack.js.org/guides/installation/)[Làm thê nào để bắt đầu sử dụng](https://webpack.js.org/guides/getting-started/) hướng dẫn ở tài liệu Webpack.
47+
=======
48+
If you aren't, you'll need to set up bundling yourself. For example, see the [Installation](https://webpack.js.org/guides/installation/) and [Getting Started](https://webpack.js.org/guides/getting-started/) guides on the Webpack docs.
49+
>>>>>>> 5119600cf6f7a5dcbd4d2cc23f6b4ff55d2969b2
4650
4751
## Phân chia Code {#code-splitting}
4852

content/docs/concurrent-mode-adoption.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ next: concurrent-mode-reference.html
2121
>
2222
>This documentation is aimed at early adopters and people who are curious. **If you're new to React, don't worry about these features** -- you don't need to learn them right now.
2323
24+
>Caution:
25+
>
26+
>All references below to "blocking mode" and `createBlockingRoot` are outdated and should be ignored.
27+
2428
</div>
2529

2630
- [Installation](#installation)

content/docs/concurrent-mode-reference.md

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ This page is an API reference for the React [Concurrent Mode](/docs/concurrent-m
2828

2929
- [Enabling Concurrent Mode](#concurrent-mode)
3030
- [`createRoot`](#createroot)
31-
- [`createBlockingRoot`](#createblockingroot)
3231
- [Suspense](#suspense)
3332
- [`Suspense`](#suspensecomponent)
3433
- [`SuspenseList`](#suspenselist)
@@ -47,18 +46,6 @@ Replaces `ReactDOM.render(<App />, rootNode)` and enables Concurrent Mode.
4746

4847
For more information on Concurrent Mode, check out the [Concurrent Mode documentation.](/docs/concurrent-mode-intro.html)
4948

50-
### `createBlockingRoot` {#createblockingroot}
51-
52-
```js
53-
ReactDOM.createBlockingRoot(rootNode).render(<App />)
54-
```
55-
56-
Replaces `ReactDOM.render(<App />, rootNode)` and enables [Blocking Mode](/docs/concurrent-mode-adoption.html#migration-step-blocking-mode).
57-
58-
Opting into Concurrent Mode introduces semantic changes to how React works. This means that you can't use Concurrent Mode in just a few components. Because of this, some apps may not be able to migrate directly to Concurrent Mode.
59-
60-
Blocking Mode only contains a small subset of Concurrent Mode features and is intended as an intermediary migration step for apps that are unable to migrate directly.
61-
6249
## Suspense API {#suspense}
6350

6451
### `Suspense` {#suspensecomponent}

content/docs/hooks-reference.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ If your update function returns the exact same value as the current state, the s
7676
> Unlike the `setState` method found in class components, `useState` does not automatically merge update objects. You can replicate this behavior by combining the function updater form with object spread syntax:
7777
>
7878
> ```js
79+
> const [state, setState] = useState({});
7980
> setState(prevState => {
8081
> // Object.assign would also work
8182
> return {...prevState, ...updatedValues};

content/docs/reference-react-component.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,7 @@ Note that this method is fired on *every* render, regardless of the cause. This
299299
getSnapshotBeforeUpdate(prevProps, prevState)
300300
```
301301

302-
`getSnapshotBeforeUpdate()` is invoked right before the most recently rendered output is committed to e.g. the DOM. It enables your component to capture some information from the DOM (e.g. scroll position) before it is potentially changed. Any value returned by this lifecycle will be passed as a parameter to `componentDidUpdate()`.
302+
`getSnapshotBeforeUpdate()` is invoked right before the most recently rendered output is committed to e.g. the DOM. It enables your component to capture some information from the DOM (e.g. scroll position) before it is potentially changed. Any value returned by this lifecycle method will be passed as a parameter to `componentDidUpdate()`.
303303

304304
This use case is not common, but it may occur in UIs like a chat thread that need to handle scroll position in a special way.
305305

content/tutorial/tutorial.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,11 @@ Chú ý rằng trong hàm `handleClick`, chúng ta sử dụng `.slice()` để
524524

525525
### Tại sao tính bất biến là quan trọng {#why-immutability-is-important}
526526

527+
<<<<<<< HEAD
527528
Trong phần code ví dụ trước, ta đã sử dụng hàm `.slice()` để tạo ra bản sao của mảng `squares` thay vì sửa trực tiếp nó. Giờ ta sẽ thảo luận về tính bất biến và vì sao tính bất biến lại quan trọng.
529+
=======
530+
In the previous code example, we suggested that you use the `.slice()` method to create a copy of the `squares` array to copy instead of modifying the existing array. We'll now discuss immutability and why immutability is important to learn.
531+
>>>>>>> 5119600cf6f7a5dcbd4d2cc23f6b4ff55d2969b2
528532
529533
Thông thường, ta có 2 hướng tiếp cận đối với việc thay đổi dữ liệu. Hướng tiếp cận đầu tiên đó là *thay đổi (mutate)* trực tiếp giá trị của dữ liệu. Hướng tiếp cận thứ hai đó là thay dữ liệu hiện có bằng một bản sao của nó và sửa đổi trên bản sao đó.
530534

0 commit comments

Comments
 (0)