Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
f21896a
missing export default for contact.js (#3209)
safarishi Aug 19, 2020
d0587fc
Update link for Glitch: React Starter Kit (#3212)
ankitshaw42 Aug 19, 2020
1cc8aa3
Remove outdated comparison
gaearon Aug 19, 2020
81bfee9
Fix issues on Windows (#3213)
vladar Aug 19, 2020
fb71011
Replace old babel plugin link with new one (#3215)
HKalbasi Aug 19, 2020
019a989
Add React Tutorial (#2916)
jadjoubran Aug 20, 2020
c64ee93
Mentioned that `value` is supported in `<select>` (#3217)
phistuck Aug 20, 2020
e2c2fe2
Sync Reservation Component with CodePen example (#3221)
DarkSuniuM Aug 22, 2020
b9c5996
Add possible element types that accept propTypes (#386)
LAITONEN Aug 23, 2020
860a510
Clarify that synthetic events aren’t exactly the same as native event…
Emuentes Aug 23, 2020
6a1e325
Reference select guide instead of documenting selected attribute (#3224)
eps1lon Aug 23, 2020
d16f1ee
Add next and previous links to Advanced Guides (#540)
Ediiik Aug 23, 2020
cd5b2ad
Prefixing `unstable_` (#3226)
shihabus Aug 24, 2020
daf79b7
Update blog post for RC1 (#3231)
gaearon Aug 28, 2020
4763737
Update conferences list based on 2020 COVID cancellations (#3144)
robhrt7 Aug 28, 2020
baa4531
fix link
gaearon Aug 28, 2020
39f09d6
fix more lins
gaearon Aug 28, 2020
f673d85
Add `useLayoutEffect` to those hooks with deps (#3232)
acmu Aug 30, 2020
25cc703
Updating the docs to reflect the fact that React.memo can be used wit…
ktajpuri Aug 30, 2020
d493015
Fix Navbar covering heading while using anchor in docs (#3235)
kavinvalli Sep 2, 2020
da8ef8b
Explain where act comes from (#3237)
koba04 Sep 2, 2020
d79f1dd
Update UMD build links to match npm (#3239)
dnicolson Sep 2, 2020
657658a
Fix React Native Testing Library link (#3240)
boreyko1 Sep 4, 2020
b24caba
Code the `null` and `undefined` values (#3203)
ngolin Sep 8, 2020
197ea28
Add links to React Conf 2018, 2019 (#3248)
hodovani Sep 11, 2020
ca66ea2
Adds my github and twitter info (#3257)
sethwebster Sep 12, 2020
954a16f
Fix heading structure in tutorial (#3260)
eps1lon Sep 14, 2020
ec07e80
Remove prev/next links from the Advanced Guide (#3269)
heychris Sep 21, 2020
fdd694f
Tweaked v17 blog post effects changes (#3273)
Sep 21, 2020
1becaff
End the banner campaign (#3275)
gaearon Sep 21, 2020
0aaac2d
merging all conflicts
reactjs-translation-bot Sep 21, 2020
512f1cd
Resolve conflicts
vldmrkl Sep 22, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 19 additions & 8 deletions content/blog/2020-08-10-react-v17-rc.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,17 +162,17 @@ useEffect(() => {

Most effects don't need to delay screen updates, so React runs them asynchronously soon after the update has been reflected on the screen. (For the rare cases where you need an effect to block paint, e.g. to measure and position a tooltip, prefer `useLayoutEffect`.)

However, the effect *cleanup* function, when it exists, used to run synchronously in React 16. We've found that, similar to `componentWillUnmount` being synchronous in classes, this is not ideal for larger apps because it slows down large screen transitions (e.g. switching tabs).
However, when a component is unmounting, effect *cleanup* functions used to run synchronously (similar to `componentWillUnmount` being synchronous in classes). We've found that this is not ideal for larger apps because it slows down large screen transitions (e.g. switching tabs).

**In React 17, the effect cleanup function also runs asynchronously -- for example, if the component is unmounting, the cleanup will run _after_ the screen has been updated.**
**In React 17, the effect cleanup function will always runs asynchronously -- for example, if the component is unmounting, the cleanup will run _after_ the screen has been updated.**

This mirrors how the effects themselves run more closely. In the rare cases where you might want to rely on the synchronous execution, you can switch to `useLayoutEffect` instead.
This mirrors how the effects themselves run more closely. In the rare cases where you might want to rely on the synchronous execution, you can switch to `useLayoutEffect` instead.

>Note
>
>You might be wondering whether this means that you'll now be unable to fix warnings about `setState` on unmounted components. Don't worry -- React specifically checks for this case, and does *not* fire `setState` warnings in the short gap between unmounting and the cleanup. **So code cancelling requests or intervals can almost always stay the same.**

Additionally, React 17 executes the cleanup functions in the same order as the effects, according to their position in the tree. Previously, this order was occasionally different.
Additionally, React 17 will always execute all effect cleanup functions (for all components) before it runs any new effects. React 16 only guaranteed this ordering for effects within a component.

#### Potential Issues {#potential-issues}

Expand Down Expand Up @@ -272,20 +272,20 @@ We encourage you to try React 17.0 Release Candidate soon and [raise any issues]
To install React 17 RC with npm, run:

```bash
npm install react@17.0.0-rc.0 react-dom@17.0.0-rc.0
npm install react@17.0.0-rc.1 react-dom@17.0.0-rc.1
```

To install React 17 RC with Yarn, run:

```bash
yarn add react@17.0.0-rc.0 react-dom@17.0.0-rc.0
yarn add react@17.0.0-rc.1 react-dom@17.0.0-rc.1
```

We also provide UMD builds of React via a CDN:

```html
<script crossorigin src="https://unpkg.com/react@17.0.0-rc.0/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17.0.0-rc.0/umd/react-dom.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react@17.0.0-rc.1/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17.0.0-rc.1/umd/react-dom.production.min.js"></script>
```

Refer to the documentation for [detailed installation instructions](/docs/installation.html).
Expand All @@ -297,6 +297,8 @@ Refer to the documentation for [detailed installation instructions](/docs/instal
* Add `react/jsx-runtime` and `react/jsx-dev-runtime` for the [new JSX transform](https://babeljs.io/blog/2020/03/16/7.9.0#a-new-jsx-transform-11154-https-githubcom-babel-babel-pull-11154). ([@lunaruan](https://github.com/lunaruan) in [#18299](https://github.com/facebook/react/pull/18299))
* Build component stacks from native error frames. ([@sebmarkbage](https://github.com/sebmarkbage) in [#18561](https://github.com/facebook/react/pull/18561))
* Allow to specify `displayName` on context for improved stacks. ([@eps1lon](https://github.com/eps1lon) in [#18224](https://github.com/facebook/react/pull/18224))
* Prevent `'use strict'` from leaking in the UMD bundles. ([@koba04](https://github.com/koba04) in [#19614](https://github.com/facebook/react/pull/19614))
* Stop using `fb.me` for redirects. ([@cylim](https://github.com/cylim) in [#19598](https://github.com/facebook/react/pull/19598))

### React DOM {#react-dom}

Expand All @@ -309,6 +311,7 @@ Refer to the documentation for [detailed installation instructions](/docs/instal
* Throw if `forwardRef` or `memo` component returns `undefined`. ([@gaearon](https://github.com/gaearon) in [#19550](https://github.com/facebook/react/pull/19550))
* Remove event pooling. ([@trueadm](https://github.com/trueadm) in [#18969](https://github.com/facebook/react/pull/18969))
* Stop exposing internals that won’t be needed by React Native Web. ([@necolas](https://github.com/necolas) in [#18483](https://github.com/facebook/react/pull/18483))
* Attach all known event listeners when the root mounts. ([@gaearon](https://github.com/gaearon) in [#19659](https://github.com/facebook/react/pull/19659))
* Disable `console` in the second render pass of DEV mode double render. ([@sebmarkbage](https://github.com/sebmarkbage) in [#18547](https://github.com/facebook/react/pull/18547))
* Deprecate the undocumented and misleading `ReactTestUtils.SimulateNative` API. ([@gaearon](https://github.com/gaearon) in [#13407](https://github.com/facebook/react/pull/13407))
* Rename private field names used in the internals. ([@gaearon](https://github.com/gaearon) in [#18377](https://github.com/facebook/react/pull/18377))
Expand All @@ -324,11 +327,16 @@ Refer to the documentation for [detailed installation instructions](/docs/instal
* Improve the error message for invalid updates. ([@JoviDeCroock](https://github.com/JoviDeCroock) in [#18316](https://github.com/facebook/react/pull/18316))
* Exclude forwardRef and memo from stack frames. ([@sebmarkbage](https://github.com/sebmarkbage) in [#18559](https://github.com/facebook/react/pull/18559))
* Improve the error message when switching between controlled and uncontrolled inputs. ([@vcarl](https://github.com/vcarl) in [#17070](https://github.com/facebook/react/pull/17070))
* Keep `onTouchStart`, `onTouchMove`, and `onWheel` passive. ([@gaearon](https://github.com/gaearon) in [#19654](https://github.com/facebook/react/pull/19654))
* Fix `setState` hanging in development inside a closed iframe. ([@gaearon](https://github.com/gaearon) in [#19220](https://github.com/facebook/react/pull/19220))
* Fix rendering bailout for lazy components with `defaultProps`. ([@jddxf](https://github.com/jddxf) in [#18539](https://github.com/facebook/react/pull/18539))
* Fix a false positive warning when `dangerouslySetInnerHTML` is `undefined`. ([@eps1lon](https://github.com/eps1lon) in [#18676](https://github.com/facebook/react/pull/18676))
* Fix Test Utils with non-standard `require` implementation. ([@just-boris](https://github.com/just-boris) in [#18632](https://github.com/facebook/react/pull/18632))
* Fix `onBeforeInput` reporting an incorrect `event.type`. ([@eps1lon](https://github.com/eps1lon) in [#19561](https://github.com/facebook/react/pull/19561))
* Fix `event.relatedTarget` reported as `undefined` in Firefox. ([@claytercek](https://github.com/claytercek) in [#19607](https://github.com/facebook/react/pull/19607))
* Fix "unspecified error" in IE11. ([@hemakshis](https://github.com/hemakshis) in [#19664](https://github.com/facebook/react/pull/19664))
* Fix rendering into a shadow root. ([@Jack-Works](https://github.com/Jack-Works) in [#15894](https://github.com/facebook/react/pull/15894))
* Fix `movementX/Y` polyfill with capture events. ([@gaearon](https://github.com/gaearon) in [#19672](https://github.com/facebook/react/pull/19672))
* Use delegation for `onSubmit` and `onReset` events. ([@gaearon](https://github.com/gaearon) in [#19333](https://github.com/facebook/react/pull/19333))
* Improve memory usage. ([@trueadm](https://github.com/trueadm) in [#18970](https://github.com/facebook/react/pull/18970))

Expand All @@ -346,9 +354,12 @@ Refer to the documentation for [detailed installation instructions](/docs/instal
* Revamp the priority batching heuristics. ([@acdlite](https://github.com/acdlite) in [#18796](https://github.com/facebook/react/pull/18796))
* Add the `unstable_` prefix before the experimental APIs. ([@acdlite](https://github.com/acdlite) in [#18825](https://github.com/facebook/react/pull/18825))
* Remove `unstable_discreteUpdates` and `unstable_flushDiscreteUpdates`. ([@trueadm](https://github.com/trueadm) in [#18825](https://github.com/facebook/react/pull/18825))
* Remove the `timeoutMs` argument. ([@acdlite](https://github.com/acdlite) in [#19703](https://github.com/facebook/react/pull/19703))
* Disable `<div hidden />` prerendering in favor of a different future API. ([@acdlite](https://github.com/acdlite) in [#18917](https://github.com/facebook/react/pull/18917))
* Add an experimental `unstable_useOpaqueIdentifier` Hook. ([@lunaruan](https://github.com/lunaruan) in [#17322](https://github.com/facebook/react/pull/17322))
* Add an experimental `unstable_startTransition` API. ([@rickhanlonii](https://github.com/rickhanlonii) in [#19696](https://github.com/facebook/react/pull/19696))
* Using `act` in the test renderer no longer flushes Suspense fallbacks. ([@acdlite](https://github.com/acdlite) in [#18596](https://github.com/facebook/react/pull/18596))
* Use global render timeout for CPU Suspense. ([@sebmarkbage](https://github.com/sebmarkbage) in [#19643](https://github.com/facebook/react/pull/19643))
* Clear the existing root content before mounting. ([@bvaughn](https://github.com/bvaughn) in [#18730](https://github.com/facebook/react/pull/18730))
* Fix a bug with error boundaries. ([@acdlite](https://github.com/acdlite) in [#18265](https://github.com/facebook/react/pull/18265))
* Fix a bug causing dropped updates in a suspended tree. ([@acdlite](https://github.com/acdlite) in [#18384](https://github.com/facebook/react/pull/18384) and [#18457](https://github.com/facebook/react/pull/18457))
Expand Down
117 changes: 36 additions & 81 deletions content/community/conferences.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,96 +12,31 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c

## Upcoming Conferences {#upcoming-conferences}

### Reactathon 2020 {#reactathon-2020}
March 30 - 31, 2020 in San Francisco, CA

[Website](https://www.reactathon.com) - [Twitter](https://twitter.com/reactathon) - [Facebook](https://www.facebook.com/events/575942819854160/)

### React Summit - Remote Edition 2020 {#react-summit-remote-2020}
3pm CEST time, April 17, 2020 - remote event

[Website](https://remote.reactsummit.com) - [Twitter](https://twitter.com/reactamsterdam) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences)

### React Day Bangalore 2020 {#react-day-bangalore-2020}
April 25, 2020 in Bangalore, India

[Website](https://reactday.in) - [Twitter](https://twitter.com/ReactDayIn) - [LinkedIn](https://www.linkedin.com/company/react-day/)

### Byteconf React 2020 {#byteconf-react-2020}
May 1, 2020. Streamed online on YouTube.

[Website](https://www.bytesized.xyz) - [Twitter](https://twitter.com/bytesizedcode) - [YouTube](https://www.youtube.com/channel/UC046lFvJZhiwSRWsoH8SFjg)

### ReactEurope 2020 {#reacteurope-2020}
May 14-15, 2020 in Paris, France

[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 Finland 2020 {#react-finland-2020}
May 26-29 in Helsinki, Finland

[Website](https://react-finland.fi/) - [Twitter](https://twitter.com/ReactFinland)

### React Next 2020 {#react-next-2020}
June 15, 2020. Tel Aviv, Israel.

[Website](https://react-next.com/) - [Twitter](https://twitter.com/reactnext) - [Facebook](https://www.facebook.com/ReactNext2016/)

### React Loop 2020 {#react-loop-2020}
June 19, 2020. Chicago, Illinois, USA.

[Website](https://reactloop.com) - [Twitter](https://twitter.com/ReactLoop)

### React Week NY 2020 {#react-week-ny-2020}
July 17, 2020. New York City, USA.

[Website](https://reactweek.nyc/) - [Twitter](https://twitter.com/reactweek) - [Facebook](https://www.facebook.com/reactweek)

### React La Conferencia 2020 {#react-la-conferencia-2020}
July 18, 2020. Medellín, Colombia.

[Website](https://reactlaconf.co/) - [Twitter](https://twitter.com/reactlaconf)

### Chain React 2020 {#chain-react-2020}
July 29-30, 2020. Portland, Oregon, USA.

[Website](https://infinite.red/ChainReactConf) - [Twitter](https://twitter.com/ChainReactConf)

### render(ATL) 2020 {#render-atlanta-2020}
August 24-26, 2020. Atlanta, GA, USA.

[Website](https://renderatl.com) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl)

### ComponentsConf 2020 {#components20}
September 1, 2020 in Melbourne, Australia

[Website](https://www.componentsconf.com.au/) - [Twitter](https://twitter.com/ComponentsConf) - [Facebook](https://www.facebook.com/ComponentsConf/) - [LinkedIn](https://www.linkedin.com/company/componentsconf/) - [YouTube](https://www.youtube.com/ComponentsConf)

### React Native EU 2020 {#react-native-eu-2020}
September 5-6, 2020 in Wrocław, Poland
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 Amsterdam 2020 {#react-summit-2020}
September 8-11, 2020 in Amsterdam, The Netherlands

[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactamsterdam) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences)

### React Advanced 2020 {#react-advanced-2020}
October 21-23, 2020 in London, UK
### render(ATL) 2020 {#render-atlanta-2020}
September 13-15, 2020. Atlanta, GA, USA.

[Website](https://reactadvanced.com) - [Twitter](http://twitter.com/reactadvanced) - [Facebook](https://www.facebook.com/ReactAdvanced) - [Videos](https://youtube.com/c/ReactConferences)
[Website](https://renderatl.com) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl)

### React India 2020 {#react-india-2020}
November 6, 2020 in Mumbai, India
### React Summit 2020 {#react-summit-2020}
7am PST / 1pm EST / 4pm CEST October 15-16, 2020 - remote event

[Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia/) - [LinkedIn](https://www.linkedin.com/showcase/14545585) - [YouTube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w/videos)
[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences)

### React Day Berlin 2020 {#react-day-berlin-2020}
November 25-27, 2020 in Berlin, Germany

[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://www.youtube.com/reactdayberlin)

### React Next 2020 {#react-next-2020}
December 1, 2020. Tel Aviv, Israel.

[Website](https://react-next.com/) - [Twitter](https://twitter.com/reactnext) - [Facebook](https://www.facebook.com/ReactNext2016/)

## Past Conferences {#past-conferences}

### React.js Conf 2015 {#reactjs-conf-2015}
Expand Down Expand Up @@ -129,7 +64,7 @@ February 22 & 23 in San Francisco, CA
### React Amsterdam 2016 {#react-amsterdam-2016}
April 16 in Amsterdam, The Netherlands

[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactamsterdam) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences)
[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences)

### ReactEurope 2016 {#reacteurope-2016}
June 2 & 3 in Paris, France
Expand Down Expand Up @@ -179,7 +114,7 @@ March 28th at the [QEII Centre, London](http://qeiicentre.london/)
### React Amsterdam 2017 {#react-amsterdam-2017}
April 21st in Amsterdam, The Netherlands

[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences)
[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://youtube.com/c/ReactConferences)

### ReactEurope 2017 {#reacteurope-2017}
May 18th & 19th in Paris, France
Expand Down Expand Up @@ -284,7 +219,7 @@ March 31 in Kiev, Ukraine
### React Amsterdam 2018 {#react-amsterdam-2018}
April 13 in Amsterdam, The Netherlands

[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactamsterdam) - [Facebook](https://www.facebook.com/reactamsterdam)
[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam)

### React Finland 2018 {#react-finland-2018}
April 24-26 in Helsinki, Finland
Expand Down Expand Up @@ -389,7 +324,7 @@ April 4-5, 2019 in Kraków, Poland
### React Amsterdam 2019 {#react-amsterdam-2019}
April 12, 2019 in Amsterdam, The Netherlands

[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactamsterdam) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences)
[Website](https://reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences)

### React Finland 2019 {#react-finland-2019}
April 24-26 in Helsinki, Finland
Expand Down Expand Up @@ -515,3 +450,23 @@ February 1-2, 2020 in Cologne, Germany
February 27 & 28, 2020 in Sydney, Australia

[Website](https://reactconfau.com/) - [Twitter](https://twitter.com/reactconfau) - [Facebook](https://www.facebook.com/reactconfau) - [Instagram](https://www.instagram.com/reactconfau/)

### Reactathon 2020 {#reactathon-2020}
March 30 - 31, 2020 in San Francisco, CA

[Website](https://www.reactathon.com) - [Twitter](https://twitter.com/reactathon) - [Facebook](https://www.facebook.com/events/575942819854160/)

### React Summit - Remote Edition 2020 {#react-summit-remote-2020}
3pm CEST time, April 17, 2020 - remote event

[Website](https://remote.reactsummit.com) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://youtube.com/c/ReactConferences)

### Byteconf React 2020 {#byteconf-react-2020}
May 1, 2020. Streamed online on YouTube.

[Website](https://www.bytesized.xyz) - [Twitter](https://twitter.com/bytesizedcode) - [YouTube](https://www.youtube.com/channel/UC046lFvJZhiwSRWsoH8SFjg)

### ReactEurope 2020 {#reacteurope-2020}
May 14-15, 2020 in Paris, France

[Website](https://www.react-europe.org) - [Twitter](https://twitter.com/ReactEurope) - [Facebook](https://www.facebook.com/ReactEurope) - [Videos](https://www.youtube.com/c/ReacteuropeOrgConf)
Loading