dillon1000/react
Commit
Browse files 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.
Changed paths18 files
First-parent comparisonsrc/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 ModifiedPatch
Files changed
Rendering syntax-highlighted changes…