我有一个组件,它接受一个包含子组件的syling的属性。我想确保propTypes
正确验证它的类型。我可以从React Native代码中得到一个ViewStylePropTypes
模块来提供这个,但是我似乎无法找到它暴露的位置。
我想知道的是,在不重新发明轮子的情况下验证这一点的正确方法是什么?
答案 0 :(得分:4)
要对PropTypes
强制执行样式限制,只需使用以下内容,具体取决于您呈现的组件类型:
MyComponent.propTypes = {
/**
* Style to be applied to the containing <View>
*/
buttonStyle: View.propTypes.style,
/**
* Style to be applied to the inner <Text>
*/
textStyle: Text.propTypes.style
}
例如Text.propTypes.style
会在border
属性中定义textStyle
时显示黄色框警告。
注意:这也会导致在具有无效样式属性的组件内呈现Failed prop type supplied to Text...
时发生常规Text
警告。 propTypes
验证允许您的自定义组件同时验证这一点,从而为您提供更好的粒度。