Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
react-gradual-upgrade-demo
Demonstration of how to gradually upgrade an app to a new version of React
I can't think of something in particular, except that when rendering is concurrent, we may "create" a component and then throw it away without using it (if rendering gets interrupted). So on the next attempt it would be created again (including useMemo etc). However, this refers to the situation where the tree wasn't able to mount at all — for example, if it suspends. This is described here. I don't see how it could affect the behavior as long as your useMemo functions are pure and just calculate stuff.
See https://github.com/facebook/react/issues/21649 and https://github.com/reactwg/react-18/discussions/41 for more details
I can finally stop using my useThrottledState hook. I bet many of us wrote similar methods.. I'm glad it'll be a first class built in.
React 17 included quite a bit of that work. Most of the event system was simplified/rewritten, pooling was removed, and delegation moved to the root.