dillon1000/react

Commit

New commit phase lifecycle: getSnapshotBeforeUpdate (#12404)

* Implemented new getSnapshotBeforeUpdate lifecycle
* Store snapshot value from Fiber to instance (__reactInternalSnapshotBeforeUpdate)
* Use commitAllHostEffects() traversal for getSnapshotBeforeUpdate()
* Added DEV warnings and tests for new lifecycle
* Don't invoke legacy lifecycles if getSnapshotBeforeUpdate() is defined. DEV warn about this.
* Converted did-warn objects to Sets in ReactFiberClassComponent
* Replaced redundant new lifecycle checks in a few methods
* Check for polyfill suppress flag on cWU as well before warning
* Added Snapshot bit to HostEffectMask
Browse files
Changed paths12 files
First-parent comparison
M packages/react-dom/src/__tests__/ReactComponentLifeCycle-test.js ModifiedM packages/react-dom/src/__tests__/ReactErrorBoundaries-test.internal.js ModifiedM packages/react-reconciler/src/ReactDebugFiberPerf.js ModifiedM packages/react-reconciler/src/ReactFiberClassComponent.js ModifiedM packages/react-reconciler/src/ReactFiberCommitWork.js ModifiedM packages/react-reconciler/src/ReactFiberScheduler.js ModifiedM packages/react-reconciler/src/ReactStrictModeWarnings.js ModifiedM packages/react-test-renderer/src/ReactShallowRenderer.js ModifiedM packages/react-test-renderer/src/__tests__/ReactShallowRenderer-test.js ModifiedM packages/react/src/__tests__/ReactContextValidator-test.js ModifiedM packages/react/src/__tests__/createReactClassIntegration-test.js ModifiedM packages/shared/ReactTypeOfSideEffect.js Modified
Patch

Files changed

Rendering syntax-highlighted changes…