🛠 Experimental DevTools: Add Suspense Toggle to All Elements
You can now toggle suspense on every element in the experimental DevTools. If the component is not in a suspense boundary, it will also show a warning.
https://twitter.com/brian_d_vaughn/status/1126182658864599040
You can now toggle suspense on every element in the experimental DevTools. If the component is not in a suspense boundary, it will also show a warning.
https://twitter.com/brian_d_vaughn/status/1126182658864599040
⚠️ Warn When Suspending at Wrong Priority
This change adds a warning when components suspend during a user-blocking update. The warning recommends to schedule suspending updates via
https://github.com/facebook/react/pull/15492
This change adds a warning when components suspend during a user-blocking update. The warning recommends to schedule suspending updates via
Scheduler.next instead.https://github.com/facebook/react/pull/15492
🎇 React Flare Updates
Continuing the work of the past few weeks, the team worked on adding React.unstable_createEventComponent, more press event properties, server-side hit slop rendering, and a lot of other bug fixes.
https://github.com/facebook/react/issues/15257
Continuing the work of the past few weeks, the team worked on adding React.unstable_createEventComponent, more press event properties, server-side hit slop rendering, and a lot of other bug fixes.
https://github.com/facebook/react/issues/15257
🎽 Fix Interaction Tracing for Batched Update Mounts
This PR fixes an issue with interaction tracking that occurred when a root was mounting inside a batched update.
https://github.com/facebook/react/pull/15567
This PR fixes an issue with interaction tracking that occurred when a root was mounting inside a batched update.
https://github.com/facebook/react/pull/15567
🔋 Batched Mode and
Batched Mode is a new unstable React mode that ensures that updates are always batched while still doing all rendering without interruption. It can be opted in with the new ReactDOM.unstable_createSyncRoot API.
https://github.com/facebook/react/pull/15502
ReactDOM.unstable_createSyncRootBatched Mode is a new unstable React mode that ensures that updates are always batched while still doing all rendering without interruption. It can be opted in with the new ReactDOM.unstable_createSyncRoot API.
https://github.com/facebook/react/pull/15502
🌀 Add
The new
https://github.com/facebook/react/pull/15593
withSuspenseConfig APIThe new
unstable_withSuspenseConfig() API can be used to schedule updates with a different suspense config. This can be used to implement busy spinners.https://github.com/facebook/react/pull/15593
👋 Remove
Partial opt-in into Concurrent Mode creates edge cases that are not trivial to support. Instead, the recommended approach is to opt in the entire root.
https://github.com/facebook/react/pull/15532
<React.unstable_ConcurrentMode />Partial opt-in into Concurrent Mode creates edge cases that are not trivial to support. Instead, the recommended approach is to opt in the entire root.
https://github.com/facebook/react/pull/15532
🧪 Flush the Scheduler Manually inside
With this PR, the
https://github.com/facebook/react/pull/15591
act()With this PR, the
act() test helper is now manually flushing the Scheduler using Scheduler.unstable_flushWithoutYielding internally.https://github.com/facebook/react/pull/15591
🕹 Fix Serial Passive Effects
This change makes sure that passive effects are flushed before discrete event handlers are called.
https://github.com/facebook/react/pull/15650
This change makes sure that passive effects are flushed before discrete event handlers are called.
https://github.com/facebook/react/pull/15650
⏲ Remove Scheduler from React Package Dependencies
The isomorphic
https://github.com/facebook/react/pull/15616
The isomorphic
react package no longer depends directly on the scheduler. Now, only the individual renderers (e.g. react-dom) do.https://github.com/facebook/react/pull/15616
🙅♀️ Invariant When Committing Wrong Tree
This change adds a new invariant that throws if the new tree is the same as the old one.
https://github.com/facebook/react/pull/15517
This change adds a new invariant that throws if the new tree is the same as the old one.
https://github.com/facebook/react/pull/15517
🎇 React Flare Updates
Another week of great improvements for the experimental event API that the team at Facebook is working on.
https://github.com/facebook/react/issues/15257
Another week of great improvements for the experimental event API that the team at Facebook is working on.
preventDefault now work for nested updates, a pointerType was added to to Focus events, getFocusableElementsInScope handles suspended trees, and more.https://github.com/facebook/react/issues/15257
🛑 Bail out of Updates in Offscreen Trees
With this change, sync updates inside hidden trees are now delayed when using Concurrent Mode.
https://github.com/facebook/react/pull/15666
With this change, sync updates inside hidden trees are now delayed when using Concurrent Mode.
https://github.com/facebook/react/pull/15666
🎫 Upcoming GitNation Events
While we are here, I want to point out a few of the upcoming events from the fantastic folks at GitNation. If you have the chance, I recommend checking out one of their conferences this year:
• JS Nation, Amsterdam, June 5–7
• React Advanced, London, Oct 25
• React Day Berlin, Berlin, Dec 6
While we are here, I want to point out a few of the upcoming events from the fantastic folks at GitNation. If you have the chance, I recommend checking out one of their conferences this year:
• JS Nation, Amsterdam, June 5–7
• React Advanced, London, Oct 25
• React Day Berlin, Berlin, Dec 6
This media is not supported in your browser
VIEW IN TELEGRAM
🔄 React Fresh
The team started to work on React Fresh, a new generation of hot reloading. Changes include initial scaffolding, infrastructure, and Babel plugin implementation
Check out this Tweet by Dan Abramov for a teaser and some insights:
https://twitter.com/dan_abramov/status/1126948870137753605?s=20
The team started to work on React Fresh, a new generation of hot reloading. Changes include initial scaffolding, infrastructure, and Babel plugin implementation
Check out this Tweet by Dan Abramov for a teaser and some insights:
https://twitter.com/dan_abramov/status/1126948870137753605?s=20
🛠 Inform DevTools of Commit Priority Level
React now exposes information about the commit priority level to DevTools.
https://github.com/facebook/react/pull/15664
React now exposes information about the commit priority level to DevTools.
https://github.com/facebook/react/pull/15664
GitHub
Inform DevTools of commit priority level by bvaughn · Pull Request #15664 · facebook/react
React now informs DevTools of the commit priority level (so the Profiler can display and potentially filter on the info).
Demo
Demo
🧪 Flush Only on Exiting Outermost
https://github.com/facebook/react/pull/15682
act()act() will now only flush on exiting the outermost callback. This changes the behavior of nested act()s.https://github.com/facebook/react/pull/15682
GitHub
flush only on exiting outermost act() by threepointone · Pull Request #15682 · facebook/react
^ like it says. we flush only on exiting the outermost act().
my previous PR (#15519) ended up in merge conflict hell, so I just redid it.
my previous PR (#15519) ended up in merge conflict hell, so I just redid it.
🇭🇺 Hungarian Localization
You can now help translate the official React documentations to Hungarian.
https://github.com/reactjs/reactjs.org
You can now help translate the official React documentations to Hungarian.
https://github.com/reactjs/reactjs.org
GitHub
GitHub - reactjs/reactjs.org: The React documentation website
The React documentation website. Contribute to reactjs/reactjs.org development by creating an account on GitHub.
👷♀️ Parallelize CircleCI Jobs Using Workflows
The React repository CI tests now using the CircleCI Workflows feature. This improves status reporting in GitHub.
https://github.com/facebook/react/pull/15704
The React repository CI tests now using the CircleCI Workflows feature. This improves status reporting in GitHub.
https://github.com/facebook/react/pull/15704
🎇 React Flare Updates
This week also brings more work on React Flare. There are updated interactiveUpdates flushing heuristics,
https://github.com/facebook/react/issues/15257
This week also brings more work on React Flare. There are updated interactiveUpdates flushing heuristics,
getAbsoluteBoundingClientRect now accounts for fixed elements, getEventCurrentTarget now uses the fiber tree, and more.https://github.com/facebook/react/issues/15257
🚧 Set Up Cron Job for Fuzz Tester
The fuzz tester is now run on CI periodically with a randomly generated seed.
https://github.com/facebook/react/pull/15718
The fuzz tester is now run on CI periodically with a randomly generated seed.
https://github.com/facebook/react/pull/15718