dillon1000/react

Commit

[Fresh] Support classes by force-remounting them on edit (#15801)

* Remount classes during hot reload

* Fix a crash when Hook isn't in scope inside the signature

* Minor tweaks

* Support a comment annotation to force state reset

* Refactoring: pass a function instead of WeakMap

This hides the implementation a little bit and reduces how much React knows about the underlying mechanism.

* Refactor: use forceReset to remount unknown Hooks

We already have the logic to reset a component, so let's just reuse it instead of that special case.
Browse files
Changed paths9 files
First-parent comparison
M packages/react-fresh/src/ReactFreshBabelPlugin.js ModifiedM packages/react-fresh/src/ReactFreshRuntime.js ModifiedM packages/react-fresh/src/__tests__/ReactFresh-test.js ModifiedM packages/react-fresh/src/__tests__/ReactFreshBabelPlugin-test.js ModifiedM packages/react-fresh/src/__tests__/ReactFreshIntegration-test.js ModifiedM packages/react-fresh/src/__tests__/__snapshots__/ReactFreshBabelPlugin-test.js.snap ModifiedM packages/react-reconciler/src/ReactFiber.js ModifiedM packages/react-reconciler/src/ReactFiberBeginWork.js ModifiedM packages/react-reconciler/src/ReactFiberHotReloading.js Modified
Patch

Files changed

Rendering syntax-highlighted changes…