From ac4254f2643272b62e04be1bf362b14dd996c14f Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Mon, 9 Nov 2020 22:24:12 -0500 Subject: [PATCH 01/27] Move React Summit 2020 to Past Conferences section (#3378) October 15 is now in the past :smile:. --- content/community/conferences.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/community/conferences.md b/content/community/conferences.md index b69173762..48dea9927 100644 --- a/content/community/conferences.md +++ b/content/community/conferences.md @@ -12,11 +12,6 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {#upcoming-conferences} -### React Summit 2020 {#react-summit-2020} -October 15-16, 2020, 7am PST / 10am EST / 4pm CEST - remote event - -[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) - ### React Conf Brasil 2020 {#react-conf-brasil-2020} November 21, 2020 - remote event @@ -475,3 +470,8 @@ May 14-15, 2020 in Paris, France September 3-4, 2020 - remote event [Website](https://www.react-native.eu/) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu/) - [YouTube](https://www.youtube.com/watch?v=m0GfmlGFh3E&list=PLZ3MwD-soTTHy9_88QPLF8DEJkvoB5Tl-) - [Instagram](https://www.instagram.com/reactnative_eu/) + +### React Summit 2020 {#react-summit-2020} +October 15-16, 2020, 7am PST / 10am EST / 4pm CEST - remote event + +[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) From 9b8dee54f2d2d9fcaacc08966c09c8dc9f9a30aa Mon Sep 17 00:00:00 2001 From: Corentin Smith Date: Thu, 12 Nov 2020 13:16:20 +0100 Subject: [PATCH 02/27] Remove reference to babel-polyfill (#3381) --- content/docs/reference-javascript-environment-requirements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-javascript-environment-requirements.md b/content/docs/reference-javascript-environment-requirements.md index 1eff4e81f..f26f2f7a4 100644 --- a/content/docs/reference-javascript-environment-requirements.md +++ b/content/docs/reference-javascript-environment-requirements.md @@ -6,7 +6,7 @@ category: Reference permalink: docs/javascript-environment-requirements.html --- -React 16 depends on the collection types [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) and [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set). If you support older browsers and devices which may not yet provide these natively (e.g. IE < 11) or which have non-compliant implementations (e.g. IE 11), consider including a global polyfill in your bundled application, such as [core-js](https://github.com/zloirock/core-js) or [babel-polyfill](https://babeljs.io/docs/usage/polyfill/). +React 16 depends on the collection types [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) and [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set). If you support older browsers and devices which may not yet provide these natively (e.g. IE < 11) or which have non-compliant implementations (e.g. IE 11), consider including a global polyfill in your bundled application, such as [core-js](https://github.com/zloirock/core-js). A polyfilled environment for React 16 using core-js to support older browsers might look like: From a9239a586e7d0d9cdb7b2f0e42de5ca4023f35e7 Mon Sep 17 00:00:00 2001 From: Wojciech Golaszewski Date: Thu, 12 Nov 2020 13:18:19 +0100 Subject: [PATCH 03/27] More explicit docs about uncontrolled forms. (#3382) --- content/docs/uncontrolled-components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/uncontrolled-components.md b/content/docs/uncontrolled-components.md index 54b729e96..e66804622 100644 --- a/content/docs/uncontrolled-components.md +++ b/content/docs/uncontrolled-components.md @@ -45,7 +45,7 @@ If it's still not clear which type of component you should use for a particular ### Default Values {#default-values} -In the React rendering lifecycle, the `value` attribute on form elements will override the value in the DOM. With an uncontrolled component, you often want React to specify the initial value, but leave subsequent updates uncontrolled. To handle this case, you can specify a `defaultValue` attribute instead of `value`. +In the React rendering lifecycle, the `value` attribute on form elements will override the value in the DOM. With an uncontrolled component, you often want React to specify the initial value, but leave subsequent updates uncontrolled. To handle this case, you can specify a `defaultValue` attribute instead of `value`. Changing the value of `defaultValue` attribute after a component has mounted will not cause any update of the value in the DOM. ```javascript{7} render() { From f595f22c723c4feb926fd06bf081d8bcff19ee93 Mon Sep 17 00:00:00 2001 From: MohammadReza Date: Thu, 12 Nov 2020 22:40:12 +0330 Subject: [PATCH 04/27] Added reconciliation link. (#2614) Co-authored-by: Sunil Pai Co-authored-by: Sebastian Silbermann --- content/docs/higher-order-components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/higher-order-components.md b/content/docs/higher-order-components.md index b10392c9b..8d97b61ce 100644 --- a/content/docs/higher-order-components.md +++ b/content/docs/higher-order-components.md @@ -320,7 +320,7 @@ Higher-order components come with a few caveats that aren't immediately obvious ### Don't Use HOCs Inside the render Method {#dont-use-hocs-inside-the-render-method} -React's diffing algorithm (called reconciliation) uses component identity to determine whether it should update the existing subtree or throw it away and mount a new one. If the component returned from `render` is identical (`===`) to the component from the previous render, React recursively updates the subtree by diffing it with the new one. If they're not equal, the previous subtree is unmounted completely. +React's diffing algorithm (called [Reconciliation](/docs/reconciliation.html)) uses component identity to determine whether it should update the existing subtree or throw it away and mount a new one. If the component returned from `render` is identical (`===`) to the component from the previous render, React recursively updates the subtree by diffing it with the new one. If they're not equal, the previous subtree is unmounted completely. Normally, you shouldn't need to think about this. But it matters for HOCs because it means you can't apply a HOC to a component within the render method of a component: From 38b4c5a33be109c5751b99586476c1f0acbbb3da Mon Sep 17 00:00:00 2001 From: Alex Krolick Date: Thu, 12 Nov 2020 11:21:06 -0800 Subject: [PATCH 05/27] fix date format for firefox (#3384) --- src/html.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/html.js b/src/html.js index d2884d72e..0452c5981 100644 --- a/src/html.js +++ b/src/html.js @@ -65,8 +65,8 @@ export default class HTML extends React.Component { storageId: 'reactjs_banner_2020survey', normalHeight: 50, smallHeight: 75, - campaignStartDate: '2020-10-05Z', // the Z is for UTC - campaignEndDate: '2020-10-19Z', // the Z is for UTC + campaignStartDate: '2020-10-05T00:00:00Z', // the Z is for UTC + campaignEndDate: '2020-10-19T00:00:00Z', // the Z is for UTC snoozeForDays: 7, }; From eafba20b3de58cb7f8453cb4985c4ae7953d5d11 Mon Sep 17 00:00:00 2001 From: Federico Zivolo <5382443+FezVrasta@users.noreply.github.com> Date: Sat, 14 Nov 2020 13:26:15 +0100 Subject: [PATCH 06/27] docs: document prod vs dev behavior difference in componentDidCatch (#2168) --- content/docs/reference-react-component.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/content/docs/reference-react-component.md b/content/docs/reference-react-component.md index 1eeb9c4b2..37a5a9b86 100644 --- a/content/docs/reference-react-component.md +++ b/content/docs/reference-react-component.md @@ -413,6 +413,12 @@ class ErrorBoundary extends React.Component { } ``` +Production and development builds of React slightly differ in the way `componentDidCatch()` handles errors. + +On development, the errors will bubble up to `window`, this means that any `window.onerror` or `window.addEventListener('error', callback)` will intercept the errors that have been caught by `componentDidCatch()`. + +On production, instead, the errors will not bubble up, which means any ancestor error handler will only receive errors not explictly caught by `componentDidCatch()`. + > Note > > In the event of an error, you can render a fallback UI with `componentDidCatch()` by calling `setState`, but this will be deprecated in a future release. From fc6e864f1d425026bf5b5a1ca36f9d9c86a274e5 Mon Sep 17 00:00:00 2001 From: zytjs Date: Mon, 16 Nov 2020 18:50:53 +0800 Subject: [PATCH 07/27] Update legacy-event-pooling.md (#3380) --- content/docs/legacy-event-pooling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/legacy-event-pooling.md b/content/docs/legacy-event-pooling.md index 0ba91e9d5..8fb19c3b3 100644 --- a/content/docs/legacy-event-pooling.md +++ b/content/docs/legacy-event-pooling.md @@ -12,7 +12,7 @@ permalink: docs/legacy-event-pooling.html > >[Read more](/blog/2020/08/10/react-v17-rc.html#no-event-pooling) about this change in React 17. -The [`SyntheticEvent`](/docs/events.html) objects are pooled. This means that the `SyntheticEvent` object will be reused and all properties will be nullified after the event event handler has been called. For example, this won't work: +The [`SyntheticEvent`](/docs/events.html) objects are pooled. This means that the `SyntheticEvent` object will be reused and all properties will be nullified after the event handler has been called. For example, this won't work: ```javascript function handleChange(e) { From 957276e1e92bb48e5bb6b1c17fd0e7a559de0748 Mon Sep 17 00:00:00 2001 From: Abhishek Jain <01abhishekjain@gmail.com> Date: Mon, 16 Nov 2020 16:31:39 +0530 Subject: [PATCH 08/27] Update typechecking-with-proptypes.md with a minor addition (#3386) --- content/docs/typechecking-with-proptypes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/typechecking-with-proptypes.md b/content/docs/typechecking-with-proptypes.md index 05fed5b0e..e8a6a318e 100644 --- a/content/docs/typechecking-with-proptypes.md +++ b/content/docs/typechecking-with-proptypes.md @@ -99,7 +99,7 @@ MyComponent.propTypes = { // is shown if the prop isn't provided. requiredFunc: PropTypes.func.isRequired, - // A value of any data type + // A required value of any data type requiredAny: PropTypes.any.isRequired, // You can also specify a custom validator. It should return an Error From b2363564abff9eac4d8acf4561fc54a48c09fca8 Mon Sep 17 00:00:00 2001 From: Yuqing Chen Date: Wed, 18 Nov 2020 13:45:16 -0600 Subject: [PATCH 09/27] fix: typo (#3388) --- content/docs/reference-react-component.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/reference-react-component.md b/content/docs/reference-react-component.md index 37a5a9b86..510a73a2c 100644 --- a/content/docs/reference-react-component.md +++ b/content/docs/reference-react-component.md @@ -417,7 +417,7 @@ Production and development builds of React slightly differ in the way `component On development, the errors will bubble up to `window`, this means that any `window.onerror` or `window.addEventListener('error', callback)` will intercept the errors that have been caught by `componentDidCatch()`. -On production, instead, the errors will not bubble up, which means any ancestor error handler will only receive errors not explictly caught by `componentDidCatch()`. +On production, instead, the errors will not bubble up, which means any ancestor error handler will only receive errors not explicitly caught by `componentDidCatch()`. > Note > From 28e7b103a5ffde600481ae469ed92186729d7775 Mon Sep 17 00:00:00 2001 From: Nathan Novielli Date: Thu, 19 Nov 2020 10:53:21 -0800 Subject: [PATCH 10/27] Update the broken links in the Overview section (#3394) --- content/docs/addons-perf.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/docs/addons-perf.md b/content/docs/addons-perf.md index a07b1d05a..221ce2e86 100644 --- a/content/docs/addons-perf.md +++ b/content/docs/addons-perf.md @@ -27,8 +27,8 @@ In addition to giving you an overview of your app's overall performance, `Perf` See these articles for an introduction to React performance tooling: - ["How to Benchmark React Components"](https://medium.com/code-life/how-to-benchmark-react-components-the-quick-and-dirty-guide-f595baf1014c) - - ["Performance Engineering with React"](https://benchling.engineering/performance-engineering-with-react/) - - ["A Deep Dive into React Perf Debugging"](https://benchling.engineering/deep-dive-react-perf-debugging/) + - ["Performance Engineering with React"](https://benchling.engineering/performance-engineering-with-react-e03013e53285) + - ["A Deep Dive into React Perf Debugging"](https://benchling.engineering/a-deep-dive-into-react-perf-debugging-fd2063f5a667) ### Development vs. Production Builds {#development-vs-production-builds} From f44b4946e58df350290d65f46e871e941ba9a174 Mon Sep 17 00:00:00 2001 From: Seyed Masih Sajadi Date: Fri, 20 Nov 2020 15:28:10 +0330 Subject: [PATCH 11/27] Link to TypeScript 4.1 stable release (#3395) --- content/blog/2020-09-22-introducing-the-new-jsx-transform.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/2020-09-22-introducing-the-new-jsx-transform.md b/content/blog/2020-09-22-introducing-the-new-jsx-transform.md index c36896e2b..623fe2f83 100644 --- a/content/blog/2020-09-22-introducing-the-new-jsx-transform.md +++ b/content/blog/2020-09-22-introducing-the-new-jsx-transform.md @@ -192,7 +192,7 @@ If you are using [eslint-plugin-react](https://github.com/yannickcr/eslint-plugi ### TypeScript {#typescript} -TypeScript supports the new JSX transform in [v4.1 beta](https://devblogs.microsoft.com/typescript/announcing-typescript-4-1-beta/#jsx-factories). +TypeScript supports the new JSX transform in [v4.1](https://devblogs.microsoft.com/typescript/announcing-typescript-4-1/#jsx-factories) and up. ### Flow {#flow} From 8f9ef00db1b36ee3e5a0e6072eb601257a6f8ccb Mon Sep 17 00:00:00 2001 From: Olsi Seferi <72546616+olsiseferi@users.noreply.github.com> Date: Sat, 21 Nov 2020 22:07:27 +0100 Subject: [PATCH 12/27] Add React User Group Albania (#3390) Updated the document and added the link to the React.js User group meetup page for Albania. --- content/community/meetups.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/community/meetups.md b/content/community/meetups.md index 6f8a2eb9f..bbb078d24 100644 --- a/content/community/meetups.md +++ b/content/community/meetups.md @@ -8,6 +8,9 @@ permalink: community/meetups.html Do you have a local React.js meetup? Add it here! (Please keep the list alphabetical) +## Albania {#albania} +* [Tirana](https://www.meetup.com/React-User-Group-Albania/) + ## Argentina {#argentina} * [Rosario](https://www.meetup.com/es/reactrosario) From 446ba517d7fd7bc545254defe4da02268bb05ded Mon Sep 17 00:00:00 2001 From: Renato Alves Date: Wed, 25 Nov 2020 06:20:47 -0300 Subject: [PATCH 13/27] Add PropType instructions for function components (#3403) Co-authored-by: Sebastian Silbermann --- content/docs/typechecking-with-proptypes.md | 48 ++++++++++++++++++++- 1 file changed, 46 insertions(+), 2 deletions(-) diff --git a/content/docs/typechecking-with-proptypes.md b/content/docs/typechecking-with-proptypes.md index e8a6a318e..1eabf394c 100644 --- a/content/docs/typechecking-with-proptypes.md +++ b/content/docs/typechecking-with-proptypes.md @@ -61,7 +61,7 @@ MyComponent.propTypes = { // A React element type (ie. MyComponent). optionalElementType: PropTypes.elementType, - + // You can also declare that a prop is an instance of a class. This uses // JS's instanceof operator. optionalMessage: PropTypes.instanceOf(Message), @@ -88,7 +88,7 @@ MyComponent.propTypes = { color: PropTypes.string, fontSize: PropTypes.number }), - + // An object with warnings on extra properties optionalObjectWithStrictShape: PropTypes.exact({ name: PropTypes.string, @@ -196,3 +196,47 @@ class Greeting extends React.Component { ``` The `defaultProps` will be used to ensure that `this.props.name` will have a value if it was not specified by the parent component. The `propTypes` typechecking happens after `defaultProps` are resolved, so typechecking will also apply to the `defaultProps`. + +### Function Components + +If you are using function components in your regular development, you may want to make some small changes to allow PropTypes to be proper applied. + +Let's say you have a component like this: + +```javascript +export default function HelloWorldComponent({ name }) { + return ( +
Hello, {name}
+ ) +} +``` + +To add PropTypes, you may want to declare the component in a separate function before exporting, like this: + +```javascript +function HelloWorldComponent({ name }) { + return ( +
Hello, {name}
+ ) +} + +export default HelloWorldComponent +``` + +Then, you can add PropTypes directly to the `HelloWorldComponent`: + +```javascript +import PropTypes from 'prop-types' + +function HelloWorldComponent({ name }) { + return ( +
Hello, {name}
+ ) +} + +HelloWorldComponent.propTypes = { + name: PropTypes.string +} + +export default HelloWorldComponent +``` From bb252ff33548967beeaf7308f7019af19abccf76 Mon Sep 17 00:00:00 2001 From: Simon Stern Date: Thu, 26 Nov 2020 06:10:57 -0500 Subject: [PATCH 14/27] Added Toronto meetup group (#3402) --- content/community/meetups.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/community/meetups.md b/content/community/meetups.md index bbb078d24..338c383ed 100644 --- a/content/community/meetups.md +++ b/content/community/meetups.md @@ -46,6 +46,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Montreal, QC - React Native](https://www.meetup.com/fr-FR/React-Native-MTL/) * [Vancouver, BC](https://www.meetup.com/ReactJS-Vancouver-Meetup/) * [Ottawa, ON](https://www.meetup.com/Ottawa-ReactJS-Meetup/) +* [Toronto, ON](https://www.meetup.com/Toronto-React-Native/events/) ## China {#china} * [Beijing](https://www.meetup.com/Beijing-ReactJS-Meetup/) From 10cf2a3129bda18a9511fdb531ad60b9a8435f66 Mon Sep 17 00:00:00 2001 From: Olsi Seferi <72546616+olsiseferi@users.noreply.github.com> Date: Fri, 27 Nov 2020 23:09:49 +0100 Subject: [PATCH 15/27] Add React JS Milano meetup (#3411) --- content/community/meetups.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/community/meetups.md b/content/community/meetups.md index 338c383ed..a0081a8ae 100644 --- a/content/community/meetups.md +++ b/content/community/meetups.md @@ -103,6 +103,9 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet ## Israel {#israel} * [Tel Aviv](https://www.meetup.com/ReactJS-Israel/) +## Italy {#italy} +* [Milan](https://www.meetup.com/React-JS-Milano/) + ## Malaysia {#malaysia} * [Kuala Lumpur](https://www.kl-react.com/) * [Penang](https://www.facebook.com/groups/reactpenang/) From bf09ba8106650b2c7033725ed029f0cc1229f6ee Mon Sep 17 00:00:00 2001 From: Shay Murnin Date: Fri, 27 Nov 2020 22:13:02 +0000 Subject: [PATCH 16/27] Move React conf Brasil to past conferences and reorder past conferences to be sorted by most recent (#3410) --- content/community/conferences.md | 535 ++++++++++++++++--------------- 1 file changed, 268 insertions(+), 267 deletions(-) diff --git a/content/community/conferences.md b/content/community/conferences.md index 48dea9927..b72c2ee89 100644 --- a/content/community/conferences.md +++ b/content/community/conferences.md @@ -12,11 +12,6 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {#upcoming-conferences} -### React Conf Brasil 2020 {#react-conf-brasil-2020} -November 21, 2020 - remote event - -[Website](https://reactconf.com.br/) - [Twitter](https://twitter.com/reactconfbr) - [Slack](https://react.now.sh/) - ### React Next 2020 {#react-next-2020} December 1-2, 2020 - remote event @@ -34,444 +29,450 @@ November 12-13, 2021 in Mumbai, India ## Past Conferences {#past-conferences} -### React.js Conf 2015 {#reactjs-conf-2015} -January 28 & 29 in Facebook HQ, CA +### React Conf Brasil 2020 {#react-conf-brasil-2020} +November 21, 2020 - remote event -[Website](http://conf2015.reactjs.org/) - [Schedule](http://conf2015.reactjs.org/schedule.html) - [Videos](https://www.youtube.com/playlist?list=PLb0IAmt7-GS1cbw4qonlQztYV1TAW0sCr) +[Website](https://reactconf.com.br/) - [Twitter](https://twitter.com/reactconfbr) - [Slack](https://react.now.sh/) - +### React Summit 2020 {#react-summit-2020} +October 15-16, 2020, 7am PST / 10am EST / 4pm CEST - remote event -### ReactEurope 2015 {#reacteurope-2015} -July 2 & 3 in Paris, France +[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) -[Website](http://www.react-europe.org/) - [Schedule](http://www.react-europe.org/#schedule) - [Videos](https://www.youtube.com/channel/UCorlLn2oZfgOJ-FUcF2eZ1A/playlists) +### React Native EU 2020 {#react-native-eu-2020} +September 3-4, 2020 - remote event -### Reactive 2015 {#reactive-2015} -November 2-4 in Bratislava, Slovakia +[Website](https://www.react-native.eu/) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu/) - [YouTube](https://www.youtube.com/watch?v=m0GfmlGFh3E&list=PLZ3MwD-soTTHy9_88QPLF8DEJkvoB5Tl-) - [Instagram](https://www.instagram.com/reactnative_eu/ -[Website](https://reactive2015.com/) - [Schedule](https://reactive2015.com/schedule_speakers.html#schedule) +### ReactEurope 2020 {#reacteurope-2020} +May 14-15, 2020 in Paris, France -### React.js Conf 2016 {#reactjs-conf-2016} -February 22 & 23 in San Francisco, CA +[Website](https://www.react-europe.org) - [Twitter](https://twitter.com/ReactEurope) - [Facebook](https://www.facebook.com/ReactEurope) - [Videos](https://www.youtube.com/c/ReacteuropeOrgConf) -[Website](http://conf2016.reactjs.org/) - [Schedule](http://conf2016.reactjs.org/schedule.html) - [Videos](https://www.youtube.com/playlist?list=PLb0IAmt7-GS0M8Q95RIc2lOM6nc77q1IY) +### Byteconf React 2020 {#byteconf-react-2020} +May 1, 2020. Streamed online on YouTube. -### React Amsterdam 2016 {#react-amsterdam-2016} -April 16 in Amsterdam, The Netherlands +[Website](https://www.bytesized.xyz) - [Twitter](https://twitter.com/bytesizedcode) - [YouTube](https://www.youtube.com/channel/UC046lFvJZhiwSRWsoH8SFjg) -[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) +### React Summit - Remote Edition 2020 {#react-summit-remote-2020} +3pm CEST time, April 17, 2020 - remote event -### ReactEurope 2016 {#reacteurope-2016} -June 2 & 3 in Paris, France +[Website](https://remote.reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) -[Website](http://www.react-europe.org/) - [Schedule](http://www.react-europe.org/#schedule) - [Videos](https://www.youtube.com/channel/UCorlLn2oZfgOJ-FUcF2eZ1A/playlists) +### Reactathon 2020 {#reactathon-2020} +March 30 - 31, 2020 in San Francisco, CA -### ReactRally 2016 {#reactrally-2016} -August 25-26 in Salt Lake City, UT +[Website](https://www.reactathon.com) - [Twitter](https://twitter.com/reactathon) - [Facebook](https://www.facebook.com/events/575942819854160/) -[Website](http://www.reactrally.com/) - [Schedule](http://www.reactrally.com/#/schedule) - [Videos](https://www.youtube.com/playlist?list=PLUD4kD-wL_zYSfU3tIYsb4WqfFQzO_EjQ) +### ReactConf AU 2020 {#reactconfau} +February 27 & 28, 2020 in Sydney, Australia -### ReactNext 2016 {#reactnext-2016} -September 15 in Tel Aviv, Israel +[Website](https://reactconfau.com/) - [Twitter](https://twitter.com/reactconfau) - [Facebook](https://www.facebook.com/reactconfau) - [Instagram](https://www.instagram.com/reactconfau/) -[Website](http://react-next.com/) - [Schedule](http://react-next.com/#schedule) - [Videos](https://www.youtube.com/channel/UC3BT8hh3yTTYxbLQy_wbk2w) +### React Barcamp Cologne 2020 {#react-barcamp-cologne-2020} +February 1-2, 2020 in Cologne, Germany -### ReactNL 2016 {#reactnl-2016} -October 13 in Amsterdam, The Netherlands - [Schedule](http://reactnl.org/#program) +[Website](https://react-barcamp.de/) - [Twitter](https://twitter.com/ReactBarcamp) - [Facebook](https://www.facebook.com/reactbarcamp) -[Website](http://reactnl.org/) +### React Day Berlin 2019 {#react-day-berlin-2019} +December 6, 2019 in Berlin, Germany -### Reactive 2016 {#reactive-2016} -October 26-28 in Bratislava, Slovakia +[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://www.youtube.com/reactdayberlin) -[Website](https://reactiveconf.com/) +### React Summit 2019 {#reactsummit2019} +November 30, 2019 in Lagos, Nigeria -### React Remote Conf 2016 {#react-remote-conf-2016} -October 26-28 online +[Website](https://reactsummit2019.splashthat.com) -[Twitter](https://twitter.com/react_summit) -[Website](https://allremoteconfs.com/react-2016) - [Schedule](https://allremoteconfs.com/react-2016#schedule) +### React Conf Brasil 2019 {#react-conf-2019} +October 19, 2019 in São Paulo, BR -### Agent Conference 2017 {#agent-conference-2017} -January 20-21 in Dornbirn, Austria +[Website](https://reactconf.com.br/) - [Twitter](https://twitter.com/reactconfbr) - [Facebook](https://www.facebook.com/ReactAdvanced) - [Slack](https://react.now.sh/) -[Website](http://agent.sh/) +### React Advanced 2019 {#react-advanced-2019} +October 25, 2019 in London, UK -### React Conf 2017 {#react-conf-2017} -March 13-14 in Santa Clara, CA +[Website](https://reactadvanced.com) - [Twitter](http://twitter.com/reactadvanced) - [Facebook](https://www.facebook.com/ReactAdvanced) - [Videos](https://youtube.com/c/ReactConferences) -[Website](http://conf.reactjs.org/) - [Videos](https://www.youtube.com/watch?v=7HSd1sk07uU&list=PLb0IAmt7-GS3fZ46IGFirdqKTIxlws7e0) +### React Conf 2019 {#react-conf-2019} +October 24-25, 2019 in Henderson, Nevada USA -### React London 2017 {#react-london-2017} -March 28th at the [QEII Centre, London](http://qeiicentre.london/) +[Website](https://conf.reactjs.org/) - [Twitter](https://twitter.com/reactjs) -[Website](http://react.london/) - [Videos](https://www.youtube.com/watch?v=2j9rSur_mnk&list=PLW6ORi0XZU0CFjdoYeC0f5QReBG-NeNKJ) +### React Alicante 2019 {#react-alicante-2019} +September 26-28, 2019 in Alicante, Spain -### React Amsterdam 2017 {#react-amsterdam-2017} -April 21st in Amsterdam, The Netherlands +[Website](http://reactalicante.es/) - [Twitter](https://twitter.com/reactalicante) - [Facebook](https://www.facebook.com/ReactAlicante) -[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://youtube.com/c/ReactConferences) +### React India 2019 {#react-india-2019} +September 26-28, 2019 in Goa, India -### ReactEurope 2017 {#reacteurope-2017} -May 18th & 19th in Paris, France +[Website](https://www.reactindia.io/) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) -[Website](http://www.react-europe.org/) - [Schedule](http://www.react-europe.org/#schedule) - [Videos](https://www.youtube.com/channel/UCorlLn2oZfgOJ-FUcF2eZ1A/playlists) +### React Boston 2019 {#react-boston-2019} +September 21-22, 2019 in Boston, Massachusetts USA -### Chain React 2017 {#chain-react-2017} -July 10-11 in Portland, Oregon USA +[Website](https://www.reactboston.com/) - [Twitter](https://twitter.com/reactboston) -[Website](https://infinite.red/ChainReactConf) - [Twitter](https://twitter.com/chainreactconf) - [Videos](https://www.youtube.com/watch?v=cz5BzwgATpc&list=PLFHvL21g9bk3RxJ1Ut5nR_uTZFVOxu522) +### React Live 2019 {#react-live-2019} +September 13th, 2019. Amsterdam, The Netherlands -### React Rally 2017 {#react-rally-2017} -August 24-25 in Salt Lake City, Utah USA +[Website](https://www.reactlive.nl/) - [Twitter](https://twitter.com/reactlivenl) -[Website](http://www.reactrally.com) - [Twitter](https://twitter.com/reactrally) - [Videos](https://www.youtube.com/watch?v=f4KnHNCZcH4&list=PLUD4kD-wL_zZUhvAIHJjueJDPr6qHvkni) +### React New York 2019 {#react-new-york-2019} +September 13th, 2019. New York, USA -### React Native EU 2017 {#react-native-eu-2017} -September 6-7 in Wroclaw, Poland +[Website](https://reactnewyork.com/) - [Twitter](https://twitter.com/reactnewyork) -[Website](http://react-native.eu/) - [Videos](https://www.youtube.com/watch?v=453oKJAqfy0&list=PLzUKC1ci01h_hkn7_KoFA-Au0DXLAQZR7) +### ComponentsConf 2019 {#componentsconf-2019} +September 6, 2019 in Melbourne, Australia -### ReactNext 2017 {#reactnext-2017} -September 8-10 in Tel Aviv, Israel +[Website](https://www.componentsconf.com.au/) - [Twitter](https://twitter.com/componentsconf) -[Website](http://react-next.com/) - [Twitter](https://twitter.com/ReactNext) - [Videos (Hall A)](https://www.youtube.com/watch?v=eKXQw5kR86c&list=PLMYVq3z1QxSqq6D7jxVdqttOX7H_Brq8Z), [Videos (Hall B)](https://www.youtube.com/watch?v=1InokWxYGnE&list=PLMYVq3z1QxSqCZmaqgTXLsrcJ8mZmBF7T) +### React Native EU 2019 {#react-native-eu-2019} +September 5-6 in Wrocław, Poland -### ReactFoo 2017 {#reactfoo-2017} -September 14 in Bangalore, India +[Website](https://react-native.eu) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu) -[Website](https://reactfoo.in/2017/) - [Videos](https://www.youtube.com/watch?v=3G6tMg29Wnw&list=PL279M8GbNsespKKm1L0NAzYLO6gU5LvfH) +### React Conf Iran 2019 {#react-conf-iran-2019} +August 29, 2019. Tehran, Iran. -### React Boston 2017 {#react-boston-2017} -September 23-24 in Boston, Massachusetts USA +[Website](https://reactconf.ir/) - [Videos](https://www.youtube.com/playlist?list=PL-VNqZFI5Nf-Nsj0rD3CWXGPkH-DI_0VY) - [Highlights](https://github.com/ReactConf/react-conf-highlights) -[Website](http://www.reactboston.com/) - [Twitter](https://twitter.com/ReactBoston) - [Videos](https://www.youtube.com/watch?v=2iPE5l3cl_s&list=PL-fCkV3wv4ub8zJMIhmrrLcQqSR5XPlIT) +### React Rally 2019 {#react-rally-2019} +August 22-23, 2019. Salt Lake City, USA. -### React Alicante 2017 {#react-alicante-2017} -September 28-30 in Alicante, Spain +[Website](https://www.reactrally.com/) - [Twitter](https://twitter.com/ReactRally) - [Instagram](https://www.instagram.com/reactrally/) -[Website](http://reactalicante.es) - [Twitter](https://twitter.com/ReactAlicante) - [Videos](https://www.youtube.com/watch?v=UMZvRCWo6Dw&list=PLd7nkr8mN0sWvBH_s0foCE6eZTX8BmLUM) +### Chain React 2019 {#chain-react-2019} +July 11-12, 2019. Portland, OR, USA. -### ReactJS Day 2017 {#reactjs-day-2017} -October 6 in Verona, Italy +[Website](https://infinite.red/ChainReactConf) -[Website](http://2017.reactjsday.it) - [Twitter](https://twitter.com/reactjsday) - [Videos](https://www.youtube.com/watch?v=bUqqJPIgjNU&list=PLWK9j6ps_unl293VhhN4RYMCISxye3xH9) +### React Loop 2019 {#react-loop-2019} +June 21, 2019 Chicago, Illinois USA -### React Conf Brasil 2017 {#react-conf-brasil-2017} -October 7 in Sao Paulo, Brazil +[Website](https://reactloop.com) - [Twitter](https://twitter.com/ReactLoop) -[Website](http://reactconfbr.com.br) - [Twitter](https://twitter.com/reactconfbr) - [Facebook](https://www.facebook.com/reactconf/) +### React Norway 2019 {#react-norway-2019} +June 12, 2019. Larvik, Norway -### State.js Conference 2017 {#statejs-conference-2017} -October 13 in Stockholm, Sweden +[Website](https://reactnorway.com) - [Twitter](https://twitter.com/ReactNorway) -[Website](https://statejs.com/) +### ReactNext 2019 {#react-next-2019} +June 11, 2019. Tel Aviv, Israel -### React Summit 2017 {#react-summit-2017} -October 21 in Lagos, Nigeria +[Website](https://react-next.com) - [Twitter](https://twitter.com/ReactNext) - [Videos](https://www.youtube.com/channel/UC3BT8hh3yTTYxbLQy_wbk2w) -[Website](https://reactsummit2017.splashthat.com/) - [Twitter](https://twitter.com/DevCircleLagos/) - [Facebook](https://www.facebook.com/groups/DevCLagos/) +### React Conf Armenia 2019 {#react-conf-am-19} +May 25, 2019 in Yerevan, Armenia -### ReactiveConf 2017 {#reactiveconf-2017} -October 25–27, Bratislava, Slovakia +[Website](https://reactconf.am/) - [Twitter](https://twitter.com/ReactConfAM) - [Facebook](https://www.facebook.com/reactconf.am/) - [YouTube](https://www.youtube.com/c/JavaScriptConferenceArmenia) - [CFP](http://bit.ly/speakReact) -[Website](https://reactiveconf.com) - [Videos](https://www.youtube.com/watch?v=BOKxSFB2hOE&list=PLa2ZZ09WYepMB-I7AiDjDYR8TjO8uoNjs) +### ReactEurope 2019 {#reacteurope-2019} +May 23-24, 2019 in Paris, France -### React Seoul 2017 {#react-seoul-2017} -November 4 in Seoul, South Korea +[Website](https://www.react-europe.org) - [Twitter](https://twitter.com/ReactEurope) - [Facebook](https://www.facebook.com/ReactEurope) - [Videos](https://www.youtube.com/c/ReacteuropeOrgConf) -[Website](http://seoul.reactjs.kr/en) +### 2019 {#reactnotaconf--2019} +May 11 in Sofia, Bulgaria -### React Day Berlin 2017 {#react-day-berlin-2017} -December 2, Berlin, Germany +[Website](http://react-not-a-conf.com/) - [Twitter](https://twitter.com/reactnotaconf) - [Facebook](https://www.facebook.com/events/780891358936156) -[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://www.youtube.com/watch?v=UnNLJvHKfSY&list=PL-3BrJ5CiIx5GoXci54-VsrO6GwLhSHEK) +### ReactJS Girls Conference {#reactjs-girls-conference} +May 3, 2019 in London, UK -### ReactFoo Pune {#reactfoo-pune} -January 19-20, Pune, India +[Website](https://reactjsgirls.com/) - [Twitter](https://twitter.com/reactjsgirls) -[Website](https://reactfoo.in/2018-pune/) - [Twitter](https://twitter.com/ReactFoo) +### React Finland 2019 {#react-finland-2019} +April 24-26 in Helsinki, Finland -### AgentConf 2018 {#agentconf-2018} -January 25-28 in Dornbirn, Austria +[Website](https://react-finland.fi/) - [Twitter](https://twitter.com/ReactFinland) -[Website](http://agent.sh/) +### React Amsterdam 2019 {#react-amsterdam-2019} +April 12, 2019 in Amsterdam, The Netherlands -### ReactFest 2018 {#reactfest-2018} -March 8-9 in London, UK +[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) -[Website](https://reactfest.uk/) - [Twitter](https://twitter.com/ReactFest) - [Videos](https://www.youtube.com/watch?v=YOCrJ5vRCnw&list=PLRgweB8YtNRt-Sf-A0y446wTJNUaAAmle) +### App.js Conf 2019 {#appjs-conf-2019} +April 4-5, 2019 in Kraków, Poland -### Reactathon 2018 {#reactathon-2018} -March 20-22 in San Francisco, USA +[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) -[Website](https://www.reactathon.com/) - [Twitter](https://twitter.com/reactathon) - [Videos (fundamentals)](https://www.youtube.com/watch?v=knn364bssQU&list=PLRvKvw42Rc7OWK5s-YGGFSmByDzzgC0HP), [Videos (advanced day1)](https://www.youtube.com/watch?v=57hmk4GvJpk&list=PLRvKvw42Rc7N0QpX2Rc5CdrqGuxzwD_0H), [Videos (advanced day2)](https://www.youtube.com/watch?v=1hvQ8p8q0a0&list=PLRvKvw42Rc7Ne46QAjWNWFo1Jf0mQdnIW) +### Reactathon 2019 {#reactathon-2019} +March 30-31, 2019 in San Francisco, USA -### React Native Camp UA 2018 {#react-native-camp-ua-2018} -March 31 in Kiev, Ukraine +[Website](https://www.reactathon.com/) - [Twitter](https://twitter.com/reactathon) -[Website](http://reactnative.com.ua/) - [Twitter](https://twitter.com/reactnativecamp) - [Facebook](https://www.facebook.com/reactnativecamp/) +### React Iran 2019 {#react-iran-2019} +January 31, 2019 in Tehran, Iran -### React Amsterdam 2018 {#react-amsterdam-2018} -April 13 in Amsterdam, The Netherlands +[Website](http://reactiran.com) - [Instagram](https://www.instagram.com/reactiran/) -[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) +### React Day Berlin 2018 {#react-day-berlin-2018} +November 30, Berlin, Germany -### React Finland 2018 {#react-finland-2018} -April 24-26 in Helsinki, Finland +[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://www.youtube.com/channel/UC1EYHmQYBUJjkmL6OtK4rlw) -[Website](https://react-finland.fi/) - [Twitter](https://twitter.com/ReactFinland) +### ReactNext 2018 {#reactnext-2018} +November 4 in Tel Aviv, Israel -### 2018 {#reactnotaconf--2018} -April 28 in Sofia, Bulgaria +[Website](https://react-next.com) - [Twitter](https://twitter.com/ReactNext) - [Facebook](https://facebook.com/ReactNext2016) -[Website](http://react-not-a-conf.com/) - [Twitter](https://twitter.com/reactnotaconf) - [Facebook](https://www.facebook.com/groups/1614950305478021/) +### React Conf 2018 {#react-conf-2018} +October 25-26 in Henderson, Nevada USA -### ReactEurope 2018 {#reacteurope-2018} -May 17-18 in Paris, France +[Website](https://conf.reactjs.org/) -[Website](https://www.react-europe.org) - [Twitter](https://twitter.com/ReactEurope) - [Facebook](https://www.facebook.com/ReactEurope) +### React Conf Brasil 2018 {#react-conf-brasil-2018} +October 20 in Sao Paulo, Brazil -### ReactFoo Mumbai {#reactfoo-mumbai} -May 26 in Mumbai, India +[Website](http://reactconfbr.com.br) - [Twitter](https://twitter.com/reactconfbr) - [Facebook](https://www.facebook.com/reactconf) -[Website](https://reactfoo.in/2018-mumbai/) - [Twitter](https://twitter.com/reactfoo) - [Past talks](https://hasgeek.tv) +### ReactJS Day 2018 {#reactjs-day-2018} +October 5 in Verona, Italy -### Chain React 2018 {#chain-react-2018} -July 11-13 in Portland, Oregon USA +[Website](http://2018.reactjsday.it) - [Twitter](https://twitter.com/reactjsday) -[Website](https://infinite.red/ChainReactConf) - [Twitter](https://twitter.com/chainreactconf) +### React Boston 2018 {#react-boston-2018} +September 29-30 in Boston, Massachusetts USA -### React Rally {#react-rally} -August 16-17 in Salt Lake City, Utah USA +[Website](http://www.reactboston.com/) - [Twitter](https://twitter.com/ReactBoston) -[Website](http://www.reactrally.com) - [Twitter](https://twitter.com/reactrally) +### React Alicante 2018 {#react-alicante-2018} +September 13-15 in Alicante, Spain -### React DEV Conf China {#react-dev-conf-china} -August 18 in Guangzhou, China +[Website](http://reactalicante.es) - [Twitter](https://twitter.com/ReactAlicante) -[Website](https://react.w3ctech.com) +### React Native EU 2018 {#react-native-eu-2018} +September 5-6 in Wrocław, Poland + +[Website](https://react-native.eu) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu) + +### Byteconf React 2018 {#byteconf-react-2018} +August 31 streamed online, via Twitch + +[Website](https://byteconf.com) - [Twitch](https://twitch.tv/byteconf) - [Twitter](https://twitter.com/byteconf) ### ReactFoo Delhi {#reactfoo-delhi} August 18 in Delhi, India [Website](https://reactfoo.in/2018-delhi/) - [Twitter](https://twitter.com/reactfoo) - [Past talks](https://hasgeek.tv) -### Byteconf React 2018 {#byteconf-react-2018} -August 31 streamed online, via Twitch +### React DEV Conf China {#react-dev-conf-china} +August 18 in Guangzhou, China -[Website](https://byteconf.com) - [Twitch](https://twitch.tv/byteconf) - [Twitter](https://twitter.com/byteconf) +[Website](https://react.w3ctech.com) -### React Native EU 2018 {#react-native-eu-2018} -September 5-6 in Wrocław, Poland +### React Rally {#react-rally} +August 16-17 in Salt Lake City, Utah USA -[Website](https://react-native.eu) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu) +[Website](http://www.reactrally.com) - [Twitter](https://twitter.com/reactrally) -### React Alicante 2018 {#react-alicante-2018} -September 13-15 in Alicante, Spain +### Chain React 2018 {#chain-react-2018} +July 11-13 in Portland, Oregon USA -[Website](http://reactalicante.es) - [Twitter](https://twitter.com/ReactAlicante) +[Website](https://infinite.red/ChainReactConf) - [Twitter](https://twitter.com/chainreactconf) -### React Boston 2018 {#react-boston-2018} -September 29-30 in Boston, Massachusetts USA +### ReactFoo Mumbai {#reactfoo-mumbai} +May 26 in Mumbai, India -[Website](http://www.reactboston.com/) - [Twitter](https://twitter.com/ReactBoston) +[Website](https://reactfoo.in/2018-mumbai/) - [Twitter](https://twitter.com/reactfoo) - [Past talks](https://hasgeek.tv) -### ReactJS Day 2018 {#reactjs-day-2018} -October 5 in Verona, Italy -[Website](http://2018.reactjsday.it) - [Twitter](https://twitter.com/reactjsday) +### ReactEurope 2018 {#reacteurope-2018} +May 17-18 in Paris, France -### React Conf Brasil 2018 {#react-conf-brasil-2018} -October 20 in Sao Paulo, Brazil +[Website](https://www.react-europe.org) - [Twitter](https://twitter.com/ReactEurope) - [Facebook](https://www.facebook.com/ReactEurope) -[Website](http://reactconfbr.com.br) - [Twitter](https://twitter.com/reactconfbr) - [Facebook](https://www.facebook.com/reactconf) +### 2018 {#reactnotaconf--2018} +April 28 in Sofia, Bulgaria -### React Conf 2018 {#react-conf-2018} -October 25-26 in Henderson, Nevada USA +[Website](http://react-not-a-conf.com/) - [Twitter](https://twitter.com/reactnotaconf) - [Facebook](https://www.facebook.com/groups/1614950305478021/) -[Website](https://conf.reactjs.org/) +### React Finland 2018 {#react-finland-2018} +April 24-26 in Helsinki, Finland -### ReactNext 2018 {#reactnext-2018} -November 4 in Tel Aviv, Israel +[Website](https://react-finland.fi/) - [Twitter](https://twitter.com/ReactFinland) -[Website](https://react-next.com) - [Twitter](https://twitter.com/ReactNext) - [Facebook](https://facebook.com/ReactNext2016) +### React Amsterdam 2018 {#react-amsterdam-2018} +April 13 in Amsterdam, The Netherlands -### React Day Berlin 2018 {#react-day-berlin-2018} -November 30, Berlin, Germany +[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) -[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://www.youtube.com/channel/UC1EYHmQYBUJjkmL6OtK4rlw) +### React Native Camp UA 2018 {#react-native-camp-ua-2018} +March 31 in Kiev, Ukraine -### React Iran 2019 {#react-iran-2019} -January 31, 2019 in Tehran, Iran +[Website](http://reactnative.com.ua/) - [Twitter](https://twitter.com/reactnativecamp) - [Facebook](https://www.facebook.com/reactnativecamp/) -[Website](http://reactiran.com) - [Instagram](https://www.instagram.com/reactiran/) +### Reactathon 2018 {#reactathon-2018} +March 20-22 in San Francisco, USA -### Reactathon 2019 {#reactathon-2019} -March 30-31, 2019 in San Francisco, USA +[Website](https://www.reactathon.com/) - [Twitter](https://twitter.com/reactathon) - [Videos (fundamentals)](https://www.youtube.com/watch?v=knn364bssQU&list=PLRvKvw42Rc7OWK5s-YGGFSmByDzzgC0HP), [Videos (advanced day1)](https://www.youtube.com/watch?v=57hmk4GvJpk&list=PLRvKvw42Rc7N0QpX2Rc5CdrqGuxzwD_0H), [Videos (advanced day2)](https://www.youtube.com/watch?v=1hvQ8p8q0a0&list=PLRvKvw42Rc7Ne46QAjWNWFo1Jf0mQdnIW) -[Website](https://www.reactathon.com/) - [Twitter](https://twitter.com/reactathon) +### ReactFest 2018 {#reactfest-2018} +March 8-9 in London, UK -### App.js Conf 2019 {#appjs-conf-2019} -April 4-5, 2019 in Kraków, Poland +[Website](https://reactfest.uk/) - [Twitter](https://twitter.com/ReactFest) - [Videos](https://www.youtube.com/watch?v=YOCrJ5vRCnw&list=PLRgweB8YtNRt-Sf-A0y446wTJNUaAAmle) -[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) +### AgentConf 2018 {#agentconf-2018} +January 25-28 in Dornbirn, Austria -### React Amsterdam 2019 {#react-amsterdam-2019} -April 12, 2019 in Amsterdam, The Netherlands +[Website](http://agent.sh/) -[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) +### ReactFoo Pune {#reactfoo-pune} +January 19-20, Pune, India -### React Finland 2019 {#react-finland-2019} -April 24-26 in Helsinki, Finland +[Website](https://reactfoo.in/2018-pune/) - [Twitter](https://twitter.com/ReactFoo) -[Website](https://react-finland.fi/) - [Twitter](https://twitter.com/ReactFinland) +### React Day Berlin 2017 {#react-day-berlin-2017} +December 2, Berlin, Germany -### ReactJS Girls Conference {#reactjs-girls-conference} -May 3, 2019 in London, UK +[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://www.youtube.com/watch?v=UnNLJvHKfSY&list=PL-3BrJ5CiIx5GoXci54-VsrO6GwLhSHEK) -[Website](https://reactjsgirls.com/) - [Twitter](https://twitter.com/reactjsgirls) +### React Seoul 2017 {#react-seoul-2017} +November 4 in Seoul, South Korea -### 2019 {#reactnotaconf--2019} -May 11 in Sofia, Bulgaria +[Website](http://seoul.reactjs.kr/en) -[Website](http://react-not-a-conf.com/) - [Twitter](https://twitter.com/reactnotaconf) - [Facebook](https://www.facebook.com/events/780891358936156) +### ReactiveConf 2017 {#reactiveconf-2017} +October 25–27, Bratislava, Slovakia -### ReactEurope 2019 {#reacteurope-2019} -May 23-24, 2019 in Paris, France +[Website](https://reactiveconf.com) - [Videos](https://www.youtube.com/watch?v=BOKxSFB2hOE&list=PLa2ZZ09WYepMB-I7AiDjDYR8TjO8uoNjs) -[Website](https://www.react-europe.org) - [Twitter](https://twitter.com/ReactEurope) - [Facebook](https://www.facebook.com/ReactEurope) - [Videos](https://www.youtube.com/c/ReacteuropeOrgConf) +### React Summit 2017 {#react-summit-2017} +October 21 in Lagos, Nigeria -### React Conf Armenia 2019 {#react-conf-am-19} -May 25, 2019 in Yerevan, Armenia +[Website](https://reactsummit2017.splashthat.com/) - [Twitter](https://twitter.com/DevCircleLagos/) - [Facebook](https://www.facebook.com/groups/DevCLagos/) -[Website](https://reactconf.am/) - [Twitter](https://twitter.com/ReactConfAM) - [Facebook](https://www.facebook.com/reactconf.am/) - [YouTube](https://www.youtube.com/c/JavaScriptConferenceArmenia) - [CFP](http://bit.ly/speakReact) +### State.js Conference 2017 {#statejs-conference-2017} +October 13 in Stockholm, Sweden -### ReactNext 2019 {#react-next-2019} -June 11, 2019. Tel Aviv, Israel +[Website](https://statejs.com/) -[Website](https://react-next.com) - [Twitter](https://twitter.com/ReactNext) - [Videos](https://www.youtube.com/channel/UC3BT8hh3yTTYxbLQy_wbk2w) +### React Conf Brasil 2017 {#react-conf-brasil-2017} +October 7 in Sao Paulo, Brazil -### React Norway 2019 {#react-norway-2019} -June 12, 2019. Larvik, Norway +[Website](http://reactconfbr.com.br) - [Twitter](https://twitter.com/reactconfbr) - [Facebook](https://www.facebook.com/reactconf/) -[Website](https://reactnorway.com) - [Twitter](https://twitter.com/ReactNorway) +### ReactJS Day 2017 {#reactjs-day-2017} +October 6 in Verona, Italy -### React Loop 2019 {#react-loop-2019} -June 21, 2019 Chicago, Illinois USA +[Website](http://2017.reactjsday.it) - [Twitter](https://twitter.com/reactjsday) - [Videos](https://www.youtube.com/watch?v=bUqqJPIgjNU&list=PLWK9j6ps_unl293VhhN4RYMCISxye3xH9) -[Website](https://reactloop.com) - [Twitter](https://twitter.com/ReactLoop) +### React Alicante 2017 {#react-alicante-2017} +September 28-30 in Alicante, Spain -### Chain React 2019 {#chain-react-2019} -July 11-12, 2019. Portland, OR, USA. +[Website](http://reactalicante.es) - [Twitter](https://twitter.com/ReactAlicante) - [Videos](https://www.youtube.com/watch?v=UMZvRCWo6Dw&list=PLd7nkr8mN0sWvBH_s0foCE6eZTX8BmLUM) -[Website](https://infinite.red/ChainReactConf) +### React Boston 2017 {#react-boston-2017} +September 23-24 in Boston, Massachusetts USA -### React Rally 2019 {#react-rally-2019} -August 22-23, 2019. Salt Lake City, USA. +[Website](http://www.reactboston.com/) - [Twitter](https://twitter.com/ReactBoston) - [Videos](https://www.youtube.com/watch?v=2iPE5l3cl_s&list=PL-fCkV3wv4ub8zJMIhmrrLcQqSR5XPlIT) -[Website](https://www.reactrally.com/) - [Twitter](https://twitter.com/ReactRally) - [Instagram](https://www.instagram.com/reactrally/) +### ReactFoo 2017 {#reactfoo-2017} +September 14 in Bangalore, India -### React Conf Iran 2019 {#react-conf-iran-2019} -August 29, 2019. Tehran, Iran. +[Website](https://reactfoo.in/2017/) - [Videos](https://www.youtube.com/watch?v=3G6tMg29Wnw&list=PL279M8GbNsespKKm1L0NAzYLO6gU5LvfH) -[Website](https://reactconf.ir/) - [Videos](https://www.youtube.com/playlist?list=PL-VNqZFI5Nf-Nsj0rD3CWXGPkH-DI_0VY) - [Highlights](https://github.com/ReactConf/react-conf-highlights) +### ReactNext 2017 {#reactnext-2017} +September 8-10 in Tel Aviv, Israel -### React Native EU 2019 {#react-native-eu-2019} -September 5-6 in Wrocław, Poland +[Website](http://react-next.com/) - [Twitter](https://twitter.com/ReactNext) - [Videos (Hall A)](https://www.youtube.com/watch?v=eKXQw5kR86c&list=PLMYVq3z1QxSqq6D7jxVdqttOX7H_Brq8Z), [Videos (Hall B)](https://www.youtube.com/watch?v=1InokWxYGnE&list=PLMYVq3z1QxSqCZmaqgTXLsrcJ8mZmBF7T) -[Website](https://react-native.eu) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu) +### React Native EU 2017 {#react-native-eu-2017} +September 6-7 in Wroclaw, Poland -### ComponentsConf 2019 {#componentsconf-2019} -September 6, 2019 in Melbourne, Australia +[Website](http://react-native.eu/) - [Videos](https://www.youtube.com/watch?v=453oKJAqfy0&list=PLzUKC1ci01h_hkn7_KoFA-Au0DXLAQZR7) -[Website](https://www.componentsconf.com.au/) - [Twitter](https://twitter.com/componentsconf) +### React Rally 2017 {#react-rally-2017} +August 24-25 in Salt Lake City, Utah USA -### React New York 2019 {#react-new-york-2019} -September 13th, 2019. New York, USA +[Website](http://www.reactrally.com) - [Twitter](https://twitter.com/reactrally) - [Videos](https://www.youtube.com/watch?v=f4KnHNCZcH4&list=PLUD4kD-wL_zZUhvAIHJjueJDPr6qHvkni) -[Website](https://reactnewyork.com/) - [Twitter](https://twitter.com/reactnewyork) +### Chain React 2017 {#chain-react-2017} +July 10-11 in Portland, Oregon USA -### React Live 2019 {#react-live-2019} -September 13th, 2019. Amsterdam, The Netherlands +[Website](https://infinite.red/ChainReactConf) - [Twitter](https://twitter.com/chainreactconf) - [Videos](https://www.youtube.com/watch?v=cz5BzwgATpc&list=PLFHvL21g9bk3RxJ1Ut5nR_uTZFVOxu522) -[Website](https://www.reactlive.nl/) - [Twitter](https://twitter.com/reactlivenl) +### ReactEurope 2017 {#reacteurope-2017} +May 18th & 19th in Paris, France -### React Boston 2019 {#react-boston-2019} -September 21-22, 2019 in Boston, Massachusetts USA +[Website](http://www.react-europe.org/) - [Schedule](http://www.react-europe.org/#schedule) - [Videos](https://www.youtube.com/channel/UCorlLn2oZfgOJ-FUcF2eZ1A/playlists) -[Website](https://www.reactboston.com/) - [Twitter](https://twitter.com/reactboston) +### React Amsterdam 2017 {#react-amsterdam-2017} +April 21st in Amsterdam, The Netherlands -### React India 2019 {#react-india-2019} -September 26-28, 2019 in Goa, India +[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://youtube.com/c/ReactConferences) -[Website](https://www.reactindia.io/) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) +### React London 2017 {#react-london-2017} +March 28th at the [QEII Centre, London](http://qeiicentre.london/) -### React Alicante 2019 {#react-alicante-2019} -September 26-28, 2019 in Alicante, Spain +[Website](http://react.london/) - [Videos](https://www.youtube.com/watch?v=2j9rSur_mnk&list=PLW6ORi0XZU0CFjdoYeC0f5QReBG-NeNKJ) -[Website](http://reactalicante.es/) - [Twitter](https://twitter.com/reactalicante) - [Facebook](https://www.facebook.com/ReactAlicante) +### React Conf 2017 {#react-conf-2017} +March 13-14 in Santa Clara, CA -### React Conf 2019 {#react-conf-2019} -October 24-25, 2019 in Henderson, Nevada USA +[Website](http://conf.reactjs.org/) - [Videos](https://www.youtube.com/watch?v=7HSd1sk07uU&list=PLb0IAmt7-GS3fZ46IGFirdqKTIxlws7e0) -[Website](https://conf.reactjs.org/) - [Twitter](https://twitter.com/reactjs) +### Agent Conference 2017 {#agent-conference-2017} +January 20-21 in Dornbirn, Austria -### React Advanced 2019 {#react-advanced-2019} -October 25, 2019 in London, UK +[Website](http://agent.sh/) -[Website](https://reactadvanced.com) - [Twitter](http://twitter.com/reactadvanced) - [Facebook](https://www.facebook.com/ReactAdvanced) - [Videos](https://youtube.com/c/ReactConferences) +### React Remote Conf 2016 {#react-remote-conf-2016} +October 26-28 online -### React Conf Brasil 2019 {#react-conf-2019} -October 19, 2019 in São Paulo, BR +[Website](https://allremoteconfs.com/react-2016) - [Schedule](https://allremoteconfs.com/react-2016#schedule) -[Website](https://reactconf.com.br/) - [Twitter](https://twitter.com/reactconfbr) - [Facebook](https://www.facebook.com/ReactAdvanced) - [Slack](https://react.now.sh/) +### Reactive 2016 {#reactive-2016} +October 26-28 in Bratislava, Slovakia -### React Summit 2019 {#reactsummit2019} -November 30, 2019 in Lagos, Nigeria +[Website](https://reactiveconf.com/) -[Website](https://reactsummit2019.splashthat.com) -[Twitter](https://twitter.com/react_summit) +### ReactNL 2016 {#reactnl-2016} +October 13 in Amsterdam, The Netherlands - [Schedule](http://reactnl.org/#program) -### React Day Berlin 2019 {#react-day-berlin-2019} -December 6, 2019 in Berlin, Germany +[Website](http://reactnl.org/) -[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://www.youtube.com/reactdayberlin) +### ReactNext 2016 {#reactnext-2016} +September 15 in Tel Aviv, Israel -### React Barcamp Cologne 2020 {#react-barcamp-cologne-2020} -February 1-2, 2020 in Cologne, Germany +[Website](http://react-next.com/) - [Schedule](http://react-next.com/#schedule) - [Videos](https://www.youtube.com/channel/UC3BT8hh3yTTYxbLQy_wbk2w) -[Website](https://react-barcamp.de/) - [Twitter](https://twitter.com/ReactBarcamp) - [Facebook](https://www.facebook.com/reactbarcamp) +### ReactRally 2016 {#reactrally-2016} +August 25-26 in Salt Lake City, UT -### ReactConf AU 2020 {#reactconfau} -February 27 & 28, 2020 in Sydney, Australia +[Website](http://www.reactrally.com/) - [Schedule](http://www.reactrally.com/#/schedule) - [Videos](https://www.youtube.com/playlist?list=PLUD4kD-wL_zYSfU3tIYsb4WqfFQzO_EjQ) -[Website](https://reactconfau.com/) - [Twitter](https://twitter.com/reactconfau) - [Facebook](https://www.facebook.com/reactconfau) - [Instagram](https://www.instagram.com/reactconfau/) +### ReactEurope 2016 {#reacteurope-2016} +June 2 & 3 in Paris, France -### Reactathon 2020 {#reactathon-2020} -March 30 - 31, 2020 in San Francisco, CA +[Website](http://www.react-europe.org/) - [Schedule](http://www.react-europe.org/#schedule) - [Videos](https://www.youtube.com/channel/UCorlLn2oZfgOJ-FUcF2eZ1A/playlists) -[Website](https://www.reactathon.com) - [Twitter](https://twitter.com/reactathon) - [Facebook](https://www.facebook.com/events/575942819854160/) +### React Amsterdam 2016 {#react-amsterdam-2016} +April 16 in Amsterdam, The Netherlands -### React Summit - Remote Edition 2020 {#react-summit-remote-2020} -3pm CEST time, April 17, 2020 - remote event +[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) -[Website](https://remote.reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) +### React.js Conf 2016 {#reactjs-conf-2016} +February 22 & 23 in San Francisco, CA -### Byteconf React 2020 {#byteconf-react-2020} -May 1, 2020. Streamed online on YouTube. +[Website](http://conf2016.reactjs.org/) - [Schedule](http://conf2016.reactjs.org/schedule.html) - [Videos](https://www.youtube.com/playlist?list=PLb0IAmt7-GS0M8Q95RIc2lOM6nc77q1IY) -[Website](https://www.bytesized.xyz) - [Twitter](https://twitter.com/bytesizedcode) - [YouTube](https://www.youtube.com/channel/UC046lFvJZhiwSRWsoH8SFjg) +### Reactive 2015 {#reactive-2015} +November 2-4 in Bratislava, Slovakia -### ReactEurope 2020 {#reacteurope-2020} -May 14-15, 2020 in Paris, France +[Website](https://reactive2015.com/) - [Schedule](https://reactive2015.com/schedule_speakers.html#schedule) -[Website](https://www.react-europe.org) - [Twitter](https://twitter.com/ReactEurope) - [Facebook](https://www.facebook.com/ReactEurope) - [Videos](https://www.youtube.com/c/ReacteuropeOrgConf) +### ReactEurope 2015 {#reacteurope-2015} +July 2 & 3 in Paris, France -### React Native EU 2020 {#react-native-eu-2020} -September 3-4, 2020 - remote event +[Website](http://www.react-europe.org/) - [Schedule](http://www.react-europe.org/#schedule) - [Videos](https://www.youtube.com/channel/UCorlLn2oZfgOJ-FUcF2eZ1A/playlists) -[Website](https://www.react-native.eu/) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu/) - [YouTube](https://www.youtube.com/watch?v=m0GfmlGFh3E&list=PLZ3MwD-soTTHy9_88QPLF8DEJkvoB5Tl-) - [Instagram](https://www.instagram.com/reactnative_eu/) +### React.js Conf 2015 {#reactjs-conf-2015} +January 28 & 29 in Facebook HQ, CA -### React Summit 2020 {#react-summit-2020} -October 15-16, 2020, 7am PST / 10am EST / 4pm CEST - remote event +[Website](http://conf2015.reactjs.org/) - [Schedule](http://conf2015.reactjs.org/schedule.html) - [Videos](https://www.youtube.com/playlist?list=PLb0IAmt7-GS1cbw4qonlQztYV1TAW0sCr) -[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences) + From 5e437a10ed4e89cd5eaf990ce4f43e0857592b53 Mon Sep 17 00:00:00 2001 From: Edward <33427562+Ed-Ed@users.noreply.github.com> Date: Mon, 30 Nov 2020 10:13:31 +0000 Subject: [PATCH 17/27] Change tabIndex to match the types (string to number) (#3409) Co-authored-by: Edward Baggott --- content/blog/2017-09-08-dom-attributes-in-react-16.md | 8 ++++---- content/docs/introducing-jsx.md | 2 +- content/docs/reference-dom-elements.md | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/content/blog/2017-09-08-dom-attributes-in-react-16.md b/content/blog/2017-09-08-dom-attributes-in-react-16.md index 31c66e53e..ba84982f2 100644 --- a/content/blog/2017-09-08-dom-attributes-in-react-16.md +++ b/content/blog/2017-09-08-dom-attributes-in-react-16.md @@ -29,7 +29,7 @@ In React 16, we are making a change. Now, any unknown attributes will end up in React has always provided a JavaScript-centric API to the DOM. Since React components often take both custom and DOM-related props, it makes sense for React to use the `camelCase` convention just like the DOM APIs: ```js -
+
``` This has not changed. However, the way we enforced it in the past forced us to maintain a whitelist of all valid React DOM attributes in the bundle: @@ -55,10 +55,10 @@ With the new approach, both of these problems are solved. With React 16, you can ```js // Yes, please -
+
// Warning: Invalid DOM property `tabindex`. Did you mean `tabIndex`? -
+
``` In other words, the way you use DOM components in React hasn't changed, but now you have some new capabilities. @@ -120,7 +120,7 @@ Below is a detailed list of them. * **Known attributes with a different canonical React name:** ```js -
+
``` diff --git a/content/docs/introducing-jsx.md b/content/docs/introducing-jsx.md index 535f18b54..8b9aef366 100644 --- a/content/docs/introducing-jsx.md +++ b/content/docs/introducing-jsx.md @@ -92,7 +92,7 @@ function getGreeting(user) { You may use quotes to specify string literals as attributes: ```js -const element =
; +const element =
; ``` You may also use curly braces to embed a JavaScript expression in an attribute: diff --git a/content/docs/reference-dom-elements.md b/content/docs/reference-dom-elements.md index 6145424ad..3353eefcf 100644 --- a/content/docs/reference-dom-elements.md +++ b/content/docs/reference-dom-elements.md @@ -130,7 +130,7 @@ As of React 16, any standard [or custom](/blog/2017/09/08/dom-attributes-in-reac React has always provided a JavaScript-centric API to the DOM. Since React components often take both custom and DOM-related props, React uses the `camelCase` convention just like the DOM APIs: ```js -
// Just like node.tabIndex DOM API +
// Just like node.tabIndex DOM API
// Just like node.className DOM API // Just like node.readOnly DOM API ``` From 1fe2381fc81723fe46ff49179e82b4e71d375f6b Mon Sep 17 00:00:00 2001 From: lauchness <51837850+lauchness@users.noreply.github.com> Date: Tue, 1 Dec 2020 21:24:57 -0400 Subject: [PATCH 18/27] Adding Halifax, Nova Scotia to the list of meetups (#3419) --- content/community/meetups.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/community/meetups.md b/content/community/meetups.md index a0081a8ae..3c9188de9 100644 --- a/content/community/meetups.md +++ b/content/community/meetups.md @@ -43,6 +43,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Bolivia](https://www.meetup.com/ReactBolivia/) ## Canada {#canada} +* [Halifax, NS](https://www.meetup.com/Halifax-ReactJS-Meetup/) * [Montreal, QC - React Native](https://www.meetup.com/fr-FR/React-Native-MTL/) * [Vancouver, BC](https://www.meetup.com/ReactJS-Vancouver-Meetup/) * [Ottawa, ON](https://www.meetup.com/Ottawa-ReactJS-Meetup/) From e9da0fa1601e1f35639e9ec41e6211ec16fbf8e3 Mon Sep 17 00:00:00 2001 From: joan xie Date: Fri, 4 Dec 2020 08:52:19 +0800 Subject: [PATCH 19/27] Update strict-mode.md (#3426) Co-authored-by: Sebastian Silbermann --- content/docs/strict-mode.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/docs/strict-mode.md b/content/docs/strict-mode.md index 927b2d07d..5e213d9e3 100644 --- a/content/docs/strict-mode.md +++ b/content/docs/strict-mode.md @@ -116,6 +116,10 @@ At first glance, this code might not seem problematic. But if `SharedApplication By intentionally double-invoking methods like the component constructor, strict mode makes patterns like this easier to spot. +> Note: +> +> Starting with React 17, React automatically modifies the console methods like `console.log()` to silence the logs in the second call to lifecycle functions. However, it may cause undesired behavior in certain cases where [a workaround can be used](https://github.com/facebook/react/issues/20090#issuecomment-715927125). + ### Detecting legacy context API {#detecting-legacy-context-api} The legacy context API is error-prone, and will be removed in a future major version. It still works for all 16.x releases but will show this warning message in strict mode: From c8d19412dd49c6cba117e513c98caa22ef384207 Mon Sep 17 00:00:00 2001 From: Luckner Date: Fri, 4 Dec 2020 14:15:37 +0000 Subject: [PATCH 20/27] Fix typo in Introducing JSX snippet (#3417) (#3418) --- content/docs/introducing-jsx.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/introducing-jsx.md b/content/docs/introducing-jsx.md index 8b9aef366..535f18b54 100644 --- a/content/docs/introducing-jsx.md +++ b/content/docs/introducing-jsx.md @@ -92,7 +92,7 @@ function getGreeting(user) { You may use quotes to specify string literals as attributes: ```js -const element =
; +const element =
; ``` You may also use curly braces to embed a JavaScript expression in an attribute: From 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20O=E2=80=99Connor?= Date: Sat, 5 Dec 2020 15:21:05 -0500 Subject: [PATCH 21/27] Add React 17 release date to versioning policy (#3428) --- content/docs/faq-versioning.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index c32677eb7..d273b1b7c 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -22,7 +22,7 @@ Minor releases are the most common type of release. ### Breaking Changes {#breaking-changes} -Breaking changes are inconvenient for everyone, so we try to minimize the number of major releases – for example, React 15 was released in April 2016 and React 16 was released in September 2017; React 17 isn't expected until sometime in 2020. +Breaking changes are inconvenient for everyone, so we try to minimize the number of major releases – for example, React 15 was released in April 2016 and React 16 was released in September 2017, and React 17 was released in October 2020. Instead, we release new features in minor versions. That means that minor releases are often more interesting and compelling than majors, despite their unassuming name. From f91b71d47c93f414a6812646a8e60b4fa8828006 Mon Sep 17 00:00:00 2001 From: Taehwan Noh Date: Mon, 14 Dec 2020 00:41:10 +0900 Subject: [PATCH 22/27] Resolve merge conflict Related to a9239a586e7d0d9cdb7b2f0e42de5ca4023f35e7 --- content/docs/uncontrolled-components.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/content/docs/uncontrolled-components.md b/content/docs/uncontrolled-components.md index f3a3d0029..61fa636d9 100644 --- a/content/docs/uncontrolled-components.md +++ b/content/docs/uncontrolled-components.md @@ -45,11 +45,7 @@ class NameForm extends React.Component { ### 기본 값 {#default-values} -<<<<<<< HEAD -React 렌더링 생명주기에서 폼 엘리먼트의 `value` 어트리뷰트는 DOM의 value를 대체합니다. 비제어 컴포넌트를 사용하면 React 초깃값을 지정하지만, 그 이후의 업데이트는 제어하지 않는 것이 좋습니다. 이러한 경우에 `value` 어트리뷰트 대신 `defaultValue`를 지정할 수 있습니다. -======= -In the React rendering lifecycle, the `value` attribute on form elements will override the value in the DOM. With an uncontrolled component, you often want React to specify the initial value, but leave subsequent updates uncontrolled. To handle this case, you can specify a `defaultValue` attribute instead of `value`. Changing the value of `defaultValue` attribute after a component has mounted will not cause any update of the value in the DOM. ->>>>>>> 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 +React 렌더링 생명주기에서 폼 엘리먼트의 `value` 어트리뷰트는 DOM의 value를 대체합니다. 비제어 컴포넌트를 사용하면 React 초깃값을 지정하지만, 그 이후의 업데이트는 제어하지 않는 것이 좋습니다. 이러한 경우에 `value` 어트리뷰트 대신 `defaultValue`를 지정할 수 있습니다. 컴포넌트가 마운트된 후에 `defaultValue` 어트리뷰트를 변경해도 DOM의 값이 업데이트되지 않습니다. ```javascript{7} render() { From c88ef89803bbb27b58ceccdc81d3875cc62d8c66 Mon Sep 17 00:00:00 2001 From: Taehwan Noh Date: Mon, 14 Dec 2020 00:53:56 +0900 Subject: [PATCH 23/27] Resolve merge conflict Related to 957276e, 446ba51 --- content/docs/typechecking-with-proptypes.md | 25 +++++---------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/content/docs/typechecking-with-proptypes.md b/content/docs/typechecking-with-proptypes.md index 2eba27586..a0d4dafaf 100644 --- a/content/docs/typechecking-with-proptypes.md +++ b/content/docs/typechecking-with-proptypes.md @@ -62,13 +62,8 @@ MyComponent.propTypes = { // React 엘리먼트 타입 (ie. MyComponent) optionalElementType: PropTypes.elementType, -<<<<<<< HEAD // prop가 클래스의 인스턴스임을 선언할 수 있습니다. - // 이 경우 JS's instanceof 연산자를 사용합니다. -======= - // You can also declare that a prop is an instance of a class. This uses - // JS's instanceof operator. ->>>>>>> 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 + // 이 경우 JavaScript의 instanceof 연산자를 사용합니다. optionalMessage: PropTypes.instanceOf(Message), // 열거형(enum)으로 처리하여 prop가 특정 값들로 제한되도록 할 수 있습니다. @@ -103,11 +98,7 @@ MyComponent.propTypes = { // 경고가 보이도록 할 수 있습니다. requiredFunc: PropTypes.func.isRequired, -<<<<<<< HEAD - // 모든 데이터 타입이 가능한 값 -======= - // A required value of any data type ->>>>>>> 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 + // 모든 데이터 타입이 가능한 필수값 requiredAny: PropTypes.any.isRequired, // 사용자 정의 유효성 검사기를 지정할 수도 있습니다. @@ -203,16 +194,13 @@ class Greeting extends React.Component { } ``` -<<<<<<< HEAD `defaultProps`는 `this.props.name`의 값이 부모 컴포넌트에 의해 명시되지 않았을 때 값을 갖도록 할 것입니다. `propTypes`의 타입 확인은 `defaultProps`에도 적용되게 하기 위하여 `defaultProps`가 처리된 뒤에 일어날 것입니다. -======= -The `defaultProps` will be used to ensure that `this.props.name` will have a value if it was not specified by the parent component. The `propTypes` typechecking happens after `defaultProps` are resolved, so typechecking will also apply to the `defaultProps`. ### Function Components -If you are using function components in your regular development, you may want to make some small changes to allow PropTypes to be proper applied. +함수 컴포넌트를 사용해서 개발한다면, PropTypes를 적절히 적용할 수 있도록 몇 가지 작은 변경사항을 만들어낼 수도 있습니다. -Let's say you have a component like this: +아래와 같은 컴포넌트가 있다고 생각해봅시다. ```javascript export default function HelloWorldComponent({ name }) { @@ -222,7 +210,7 @@ export default function HelloWorldComponent({ name }) { } ``` -To add PropTypes, you may want to declare the component in a separate function before exporting, like this: +PropTypes를 추가하려면 아래처럼 컴포넌트를 외부에 노출시키기 전에 별도의 함수로 컴포넌트를 선언할 수 있습니다. ```javascript function HelloWorldComponent({ name }) { @@ -234,7 +222,7 @@ function HelloWorldComponent({ name }) { export default HelloWorldComponent ``` -Then, you can add PropTypes directly to the `HelloWorldComponent`: +그러면, `HelloWorldComponent`에 직접 PropTypes를 추가할 수 있습니다. ```javascript import PropTypes from 'prop-types' @@ -251,4 +239,3 @@ HelloWorldComponent.propTypes = { export default HelloWorldComponent ``` ->>>>>>> 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 From e4b4878110e0691858ce295aaadae117fdadbfb6 Mon Sep 17 00:00:00 2001 From: Taehwan Noh Date: Mon, 14 Dec 2020 01:04:50 +0900 Subject: [PATCH 24/27] Resolve merge conflict Related to e9da0fa1601e1f35639e9ec41e6211ec16fbf8e3 --- content/docs/strict-mode.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/content/docs/strict-mode.md b/content/docs/strict-mode.md index b0763a2d6..9b4b18cac 100644 --- a/content/docs/strict-mode.md +++ b/content/docs/strict-mode.md @@ -117,15 +117,11 @@ Strict 모드가 자동으로 부작용을 찾아주는 것은 불가능합니 컴포넌트의 constructor와 같은 메서드를 의도적으로 두 번 호출하면 strict mode가 이와 같은 패턴을 쉽게 찾을 수 있도록 합니다. -<<<<<<< HEAD -### 레거시 context API 검사 {#detecting-legacy-context-api} -======= -> Note: +> 주의 > -> Starting with React 17, React automatically modifies the console methods like `console.log()` to silence the logs in the second call to lifecycle functions. However, it may cause undesired behavior in certain cases where [a workaround can be used](https://github.com/facebook/react/issues/20090#issuecomment-715927125). +> React 17부터 React는 자동으로 `console.log()` 같은 콘솔 메서드를 수정해서 생명주기 함수의 두 번째 호출에서 로그를 찍지 않습니다. 그러나, [회피책을 사용할 수 있다면](https://github.com/facebook/react/issues/20090#issuecomment-715927125) 의도하지 않은 동작이 발생할 수 있습니다. -### Detecting legacy context API {#detecting-legacy-context-api} ->>>>>>> 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 +### 레거시 context API 검사 {#detecting-legacy-context-api} 레거시 context API는 오류가 발생하기 쉬워 이후 릴리즈에서 삭제될 예정입니다. 모든 16.x 버전에서 여전히 돌아가지만, Strict 모드에서는 아래와 같은 경고 메시지를 노출합니다. From b56ad413909e97ac866d095a0fad2f7d23cef477 Mon Sep 17 00:00:00 2001 From: Taehwan Noh Date: Mon, 14 Dec 2020 01:07:34 +0900 Subject: [PATCH 25/27] Resolve merge conflict MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Related to b2363564abff9eac4d8acf4561fc54a48c09fca8 원문에는 포함되어 있는 몇 가지 문장이 번역되면서 누락된 것을 확인했습니다. 따로 이슈로 등록해서 처리할 예정입니다. --- content/docs/reference-react-component.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/content/docs/reference-react-component.md b/content/docs/reference-react-component.md index e13400be5..daf59776e 100644 --- a/content/docs/reference-react-component.md +++ b/content/docs/reference-react-component.md @@ -406,17 +406,7 @@ class ErrorBoundary extends React.Component { } ``` -<<<<<<< HEAD > 주의 -======= -Production and development builds of React slightly differ in the way `componentDidCatch()` handles errors. - -On development, the errors will bubble up to `window`, this means that any `window.onerror` or `window.addEventListener('error', callback)` will intercept the errors that have been caught by `componentDidCatch()`. - -On production, instead, the errors will not bubble up, which means any ancestor error handler will only receive errors not explicitly caught by `componentDidCatch()`. - -> Note ->>>>>>> 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 > > 오류 이벤트 내에서는 `setState()`의 호출을 통하여 `componentDidCatch()`로 구현된 대체 UI를 렌더링할 수 있습니다. 하지만 이런 방식은 나중 릴리즈에서는 사용할 수 없게 을 것입니다. > 대체 UI 렌더링 제어를 하려면 `static getDerivedStateFromError()`를 대신 사용하세요. From 61707d4ec9e7ca4c403e30191ba964e316ff270b Mon Sep 17 00:00:00 2001 From: Taehwan Noh Date: Mon, 14 Dec 2020 01:10:03 +0900 Subject: [PATCH 26/27] Resolve merge conflict Related to 9b8dee54f2d2d9fcaacc08966c09c8dc9f9a30aa --- .../docs/reference-javascript-environment-requirements.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/content/docs/reference-javascript-environment-requirements.md b/content/docs/reference-javascript-environment-requirements.md index 1e6954853..f911b0b0f 100644 --- a/content/docs/reference-javascript-environment-requirements.md +++ b/content/docs/reference-javascript-environment-requirements.md @@ -6,11 +6,7 @@ category: Reference permalink: docs/javascript-environment-requirements.html --- -<<<<<<< HEAD -React 16 버전은 컬렉션 자료형인 [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)과 [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set)을 사용합니다. 이 기능을 자체적으로 지원하지 않거나(예. IE 11 미만) 지원은 하지만 잘 호환되지 않는(예. IE 11) 오래된 브라우저나 기기에서도 React를 사용해야 한다면 애플리케이션에 [core-js](https://github.com/zloirock/core-js)나 [babel-polyfill](https://babeljs.io/docs/usage/polyfill/) 같은 전역 폴리필(polyfill)을 포함하는 것도 고려해보세요. -======= -React 16 depends on the collection types [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) and [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set). If you support older browsers and devices which may not yet provide these natively (e.g. IE < 11) or which have non-compliant implementations (e.g. IE 11), consider including a global polyfill in your bundled application, such as [core-js](https://github.com/zloirock/core-js). ->>>>>>> 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 +React 16 버전은 컬렉션 자료형인 [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)과 [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set)을 사용합니다. 이 기능을 자체적으로 지원하지 않거나(예. IE 11 미만) 지원은 하지만 잘 호환되지 않는(예. IE 11) 오래된 브라우저나 기기에서도 React를 사용해야 한다면 애플리케이션에 [core-js](https://github.com/zloirock/core-js) 같은 전역 폴리필(polyfill)을 포함하는 것도 고려해보세요. 다음은 오래된 브라우저 지원을 위해 core-js 폴리필을 적용한 환경에서 React 16 버전을 사용하는 예시입니다. From dbf08994ae55b30188018c30c69b14dc3ea636d5 Mon Sep 17 00:00:00 2001 From: Taehwan Noh Date: Mon, 14 Dec 2020 01:11:12 +0900 Subject: [PATCH 27/27] Resolve merge conflict Related to 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 --- content/docs/faq-versioning.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/content/docs/faq-versioning.md b/content/docs/faq-versioning.md index fb7ba0f0e..b322d1486 100644 --- a/content/docs/faq-versioning.md +++ b/content/docs/faq-versioning.md @@ -22,11 +22,7 @@ React는 [유의적 버전 (semver)](https://semver.org/) 원칙을 따릅니다 ### 호환성이 유지되지 않는 변경 {#breaking-changes} -<<<<<<< HEAD -호환성이 유지되지 않는 변경은 모든 사람에게 불편할 수 있습니다. 그래서 주 버전 배포는 최소화하도록 노력합니다. 예를 들어, React 15는 2016년 4월에 배포되었고 React 16은 2017년 9월에 배포되었습니다. 그리고 React 17은 2020년에 가능할 수도 있습니다. -======= -Breaking changes are inconvenient for everyone, so we try to minimize the number of major releases – for example, React 15 was released in April 2016 and React 16 was released in September 2017, and React 17 was released in October 2020. ->>>>>>> 4fc709d0576d0f0f1f8ea8b6bb341a12944b5510 +호환성이 유지되지 않는 변경은 모든 사람에게 불편할 수 있습니다. 그래서 주 버전 배포는 최소화하도록 노력합니다. 예를 들어, React 15는 2016년 4월에 배포되었고 React 16은 2017년 9월에 배포되었습니다. 그리고 React 17은 2020년 10월에 배포되었습니다. 대신 부 버전을 변경시킨 배포로 새 기능을 배포합니다. 부 버전 배포는 겸손한 이름에도 불구하고, 주 버전 배포보다 가끔 더 흥미롭고 주목할 만합니다.