React 16 attached every handler to document and 17 attaches them to the root container, which changes what stopPropagation can prevent. The change exists to make two React…
JSX compiled to React.createElement required React to be in scope; the new transform imports what it needs itself. The output is marginally smaller and the ceremony disappears, and…
A 38-second dev server start on a machine with nothing else to do. Native ESM changes the feedback loop, and running two build tools has a specific cost.
A fetch started in an effect keeps running after unmount, and its then sets state on a component that no longer exists. The abort rejects the promise with…
React may discard memoised values to free memory, so useMemo is a performance optimisation and never a correctness mechanism. The documentation is explicit that a future version may…
Cleanup is not only an unmount hook — it runs before every re-run of the effect, which is what makes a subscription with changing dependencies correct. The ordering…
A major version whose entire purpose is to let two versions run on one page. And an event delegation change that breaks anything mixing React with jQuery.