dillon1000/react

Commit

Wrap every DOM node in a Composite Component

...unless they already have a wrapper. Also, add tagName to every wrapper.

This ensures that refs are consistent. They always look like composite
components. This effectively hides the internal implementation details of
real DOM components since you can no longer get a ref to one.

In the future we might want to drop this wrapper and have refs refer
directly to the DOM node.

I currently use a hacky way of auto-wrapping inside of ReactNativeComponent
so that any given string can be wrapped. Better suggestions are welcome.
Browse files
Changed paths18 files
First-parent comparison
M src/browser/__tests__/ReactDOM-test.js ModifiedM src/browser/ui/ReactDOMComponent.js ModifiedM src/browser/ui/ReactMount.js ModifiedM src/browser/ui/dom/components/ReactDOMButton.js ModifiedM src/browser/ui/dom/components/ReactDOMForm.js ModifiedM src/browser/ui/dom/components/ReactDOMInput.js ModifiedM src/browser/ui/dom/components/ReactDOMOption.js ModifiedM src/browser/ui/dom/components/ReactDOMSelect.js ModifiedM src/browser/ui/dom/components/ReactDOMTextarea.js ModifiedM src/core/ReactComponent.js ModifiedM src/core/ReactNativeComponent.js ModifiedM src/core/__tests__/ReactComponent-test.js ModifiedM src/core/__tests__/ReactCompositeComponent-test.js ModifiedM src/core/__tests__/ReactCompositeComponentError-test.js ModifiedM src/core/__tests__/ReactInstanceHandles-test.js ModifiedM src/core/__tests__/ReactMultiChildReconcile-test.js ModifiedM src/test/ReactTestUtils.js ModifiedM src/test/reactComponentExpect.js Modified
Patch

Files changed

Rendering syntax-highlighted changes…