dillon1000/react

Commit

[CS] Split Host Config Out into a Mutable or Immutable Mode (#11213)

* CS renderer

Because we didn't have enough RN experiments. I want to add one more.

* Split out hydration from the host config object

This makes it easier to do feature detection on the configuration.

* Move mutation host config to separate optional object

* Refs and life-cycles should happen even in immutable mode

* Unmount components even in non-mutation mode

This is the same as committing deletions but instead of finding host
components to delete, it only invokes componentWillUnmount and detaching
of refs.

* Add persistent updates API

This mode will use a clone based API instead of mutating host instances.

Needs implementation still.

It's awkward that there can be more than one child inserted into the root.
So we need a new API to create a "root" instance so that we can update it
atomically. Alternatively we could keep the mutable API for containers
and assume that most use cases would only have a single root.

* Package up CS renderer

* Fix reconciler package fixture
Browse files
Changed paths19 files
First-parent comparison
M fixtures/reconciler/index.js ModifiedM scripts/rollup/build.js ModifiedM scripts/rollup/bundles.js ModifiedM scripts/rollup/packaging.js ModifiedM scripts/rollup/results.json ModifiedM src/renderers/art/ReactARTFiberEntry.js ModifiedM src/renderers/dom/fiber/ReactDOMFiberEntry.js ModifiedA src/renderers/native-cs/ReactNativeCSFiberEntry.js AddedA src/renderers/native-cs/ReactNativeCSTypes.js AddedA src/renderers/native-cs/__tests__/ReactNativeCS-test.js AddedM src/renderers/native-rt/ReactNativeRTFiberRenderer.js ModifiedM src/renderers/native/ReactNativeFiberRenderer.js ModifiedM src/renderers/noop/ReactNoopEntry.js ModifiedM src/renderers/shared/fiber/ReactFiberCommitWork.js ModifiedM src/renderers/shared/fiber/ReactFiberHydrationContext.js ModifiedM src/renderers/shared/fiber/ReactFiberReconciler.js ModifiedM src/renderers/shared/fiber/ReactFiberScheduler.js ModifiedM src/renderers/shared/fiber/__tests__/ReactFiberHostContext-test.js ModifiedM src/renderers/testing/ReactTestRendererFiberEntry.js Modified
Patch

Files changed

Rendering syntax-highlighted changes…