diff --git a/content/community/meetups.md b/content/community/meetups.md index cff04ae1f..8403d6d8a 100644 --- a/content/community/meetups.md +++ b/content/community/meetups.md @@ -50,6 +50,9 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Ottawa, ON](https://www.meetup.com/Ottawa-ReactJS-Meetup/) * [Toronto, ON](https://www.meetup.com/Toronto-React-Native/events/) +## Chile {#chile} +* [Santiago](https://www.meetup.com/es-ES/react-santiago/) + ## China {#china} * [Beijing](https://www.meetup.com/Beijing-ReactJS-Meetup/) diff --git a/content/docs/higher-order-components.md b/content/docs/higher-order-components.md index 8d97b61ce..07dc90c38 100644 --- a/content/docs/higher-order-components.md +++ b/content/docs/higher-order-components.md @@ -14,7 +14,7 @@ const EnhancedComponent = higherOrderComponent(WrappedComponent); Whereas a component transforms props into UI, a higher-order component transforms a component into another component. -HOCs are common in third-party React libraries, such as Redux's [`connect`](https://github.com/reduxjs/react-redux/blob/master/docs/api/connect.md#connect) and Relay's [`createFragmentContainer`](http://facebook.github.io/relay/docs/en/fragment-container.html). +HOCs are common in third-party React libraries, such as Redux's [`connect`](https://github.com/reduxjs/react-redux/blob/master/docs/api/connect.md#connect) and Relay's [`createFragmentContainer`](https://relay.dev/docs/v10.1.3/fragment-container/#createfragmentcontainer). In this document, we'll discuss why higher-order components are useful, and how to write your own. diff --git a/content/docs/testing-recipes.md b/content/docs/testing-recipes.md index 83dced417..e0cef8b5c 100644 --- a/content/docs/testing-recipes.md +++ b/content/docs/testing-recipes.md @@ -467,13 +467,12 @@ import { act } from "react-dom/test-utils"; import Card from "./card"; -jest.useFakeTimers(); - let container = null; beforeEach(() => { // cài đặt một DOM element như là target cho render container = document.createElement("div"); document.body.appendChild(container); + jest.useFakeTimers(); }); afterEach(() => { @@ -481,6 +480,7 @@ afterEach(() => { unmountComponentAtNode(container); container.remove(); container = null; + jest.useRealTimers(); }); it("should select null after timing out", () => { diff --git a/content/versions.yml b/content/versions.yml index ffbc479ed..510d4a3db 100644 --- a/content/versions.yml +++ b/content/versions.yml @@ -1,3 +1,5 @@ +- title: '17.0.2' + changelog: https://github.com/facebook/react/blob/master/CHANGELOG.md#1702-march-22-2021 - title: '17.0.1' changelog: https://github.com/facebook/react/blob/master/CHANGELOG.md#1701-october-22-2020 - title: '17.0.0' diff --git a/package.json b/package.json index 8aa570c44..58ab1aeaa 100644 --- a/package.json +++ b/package.json @@ -46,9 +46,15 @@ "mdast-util-to-string": "^1.0.5", "normalize.css": "^8.0.0", "prettier": "^1.7.4", +<<<<<<< HEAD "prismjs": "^1.23.0", "react": "^17.0.1", "react-dom": "^17.0.1", +======= + "prismjs": "^1.15.0", + "react": "^17.0.2", + "react-dom": "^17.0.2", +>>>>>>> c970f75a0ac3513f50e7a4989757c50cde0b7396 "react-helmet": "^5.2.0", "react-live": "1.8.0-0", "remarkable": "^1.7.1", @@ -58,7 +64,7 @@ "unist-util-visit": "^1.1.3" }, "engines": { - "node": "12.x.x || 14.x.x", + "node": "12.x.x || 14.x.x || 15.x.x", "yarn": "^1.3.2" }, "homepage": "https://reactjs.org/", diff --git a/src/site-constants.js b/src/site-constants.js index 54870ab1d..e9f79d431 100644 --- a/src/site-constants.js +++ b/src/site-constants.js @@ -8,7 +8,7 @@ // NOTE: We can't just use `location.toString()` because when we are rendering // the SSR part in node.js we won't have a proper location. const urlRoot = 'https://reactjs.org'; -const version = '17.0.1'; +const version = '17.0.2'; const babelURL = 'https://unpkg.com/babel-standalone@6.26.0/babel.min.js'; export {babelURL, urlRoot, version}; diff --git a/yarn.lock b/yarn.lock index c45d6b8e8..7c4dcb0ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12448,14 +12448,14 @@ react-dev-utils@^4.2.3: strip-ansi "3.0.1" text-table "0.2.0" -react-dom@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6" - integrity sha512-6eV150oJZ9U2t9svnsspTMrWNyHc6chX0KzDeAOXftRa8bNeOKTTfCJ7KorIwenkHd2xqVTBTCZd79yk/lx/Ug== +react-dom@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" + integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" - scheduler "^0.20.1" + scheduler "^0.20.2" react-error-overlay@^3.0.0: version "3.0.0" @@ -12601,10 +12601,10 @@ react@^16.8.0: object-assign "^4.1.1" prop-types "^15.6.2" -react@^17.0.1: - version "17.0.1" - resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127" - integrity sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w== +react@^17.0.2: + version "17.0.2" + resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" + integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1" @@ -13433,10 +13433,10 @@ scheduler@^0.19.1: loose-envify "^1.1.0" object-assign "^4.1.1" -scheduler@^0.20.1: - version "0.20.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c" - integrity sha512-LKTe+2xNJBNxu/QhHvDR14wUXHRQbVY5ZOYpOGWRzhydZUqrLb2JBvLPY7cAqFmqrWuDED0Mjk7013SZiOz6Bw== +scheduler@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== dependencies: loose-envify "^1.1.0" object-assign "^4.1.1"