diff --git a/Libraries/Components/View/View.js b/Libraries/Components/View/View.js index 3f62f027c..ff2def0af 100644 --- a/Libraries/Components/View/View.js +++ b/Libraries/Components/View/View.js @@ -20,7 +20,7 @@ var ReactNativeViewAttributes = require('ReactNativeViewAttributes'); var StyleSheetPropType = require('StyleSheetPropType'); var ViewStylePropTypes = require('ViewStylePropTypes'); -var createReactNativeComponentClass = require('createReactNativeComponentClass'); +var requireNativeComponent = require('requireNativeComponent'); var stylePropType = StyleSheetPropType(ViewStylePropTypes); @@ -316,11 +316,12 @@ var View = React.createClass({ }, }); -var RCTView = createReactNativeComponentClass({ - validAttributes: ReactNativeViewAttributes.RCTView, - uiViewClassName: 'RCTView', +var RCTView = requireNativeComponent('RCTView', View, { + nativeOnly: { + nativeBackgroundAndroid: true, + } }); -RCTView.propTypes = View.propTypes; + if (__DEV__) { var viewConfig = RCTUIManager.viewConfigs && RCTUIManager.viewConfigs.RCTView || {}; for (var prop in viewConfig.nativeProps) { diff --git a/Libraries/ReactIOS/verifyPropTypes.js b/Libraries/ReactIOS/verifyPropTypes.js index 02715c080..a7ccd210b 100644 --- a/Libraries/ReactIOS/verifyPropTypes.js +++ b/Libraries/ReactIOS/verifyPropTypes.js @@ -12,7 +12,6 @@ 'use strict'; var ReactNativeStyleAttributes = require('ReactNativeStyleAttributes'); -var View = require('View'); export type ComponentInterface = ReactClass | { name?: string; @@ -40,7 +39,6 @@ function verifyPropTypes( var nativeProps = viewConfig.NativeProps; for (var prop in nativeProps) { if (!componentInterface.propTypes[prop] && - !View.propTypes[prop] && !ReactNativeStyleAttributes[prop] && (!nativePropsToIgnore || !nativePropsToIgnore[prop])) { throw new Error( diff --git a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java index 12c691a61..ac0dfee0f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java +++ b/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.java @@ -122,6 +122,12 @@ public class ReactViewManager extends ViewGroupManager { color == null ? CSSConstants.UNDEFINED : (float) color); } + @ReactProp(name = ViewProps.COLLAPSABLE) + public void setCollapsable(ReactViewGroup view, boolean collapsable) { + // no-op: it's here only so that "collapsable" property is exported to JS. The value is actually + // handled in NativeViewHierarchyOptimizer + } + @Override public String getName() { return REACT_CLASS;