dillon1000/react

Commit

Make keyed object fragments an opaque type

This triggers a warning if you try to pass a keyed object as a child.

You now have to wrap it in React.addons.createFragment(object) which
creates a proxy (in dev) which warns if it is accessed. The purpose of
this is to make these into opaque objects so that nobody relies on its
data structure.

After that we can turn it into a different data structure such as a
ReactFragment node or an iterable of flattened ReactElements.
Browse files
Changed paths19 files
First-parent comparison
A src/addons/ReactFragment.js AddedA src/addons/__tests__/ReactFragment-test.js AddedM src/addons/transitions/ReactTransitionChildMapping.js ModifiedM src/addons/transitions/ReactTransitionGroup.js ModifiedM src/browser/ReactWithAddons.js ModifiedM src/browser/__tests__/ReactDOM-test.js ModifiedM src/classic/element/ReactElementValidator.js ModifiedM src/classic/element/__tests__/ReactElementValidator-test.js ModifiedM src/core/__tests__/ReactIdentity-test.js ModifiedM src/core/__tests__/ReactMultiChildReconcile-test.js ModifiedM src/core/__tests__/ReactMultiChildText-test.js ModifiedM src/modern/element/__tests__/ReactJSXElementValidator-test.js ModifiedM src/utils/ReactChildren.js ModifiedM src/utils/__tests__/ReactChildren-test.js ModifiedM src/utils/__tests__/onlyChild-test.js ModifiedM src/utils/__tests__/sliceChildren-test.js ModifiedM src/utils/__tests__/traverseAllChildren-test.js ModifiedM src/utils/sliceChildren.js ModifiedM src/utils/traverseAllChildren.js Modified
Patch

Files changed

Rendering syntax-highlighted changes…