在React Native

时间:2017-06-26 11:19:29

标签: react-native react-proptypes

我有一个组件,它接受一个包含子组件的syling的属性。我想确保propTypes正确验证它的类型。我可以从React Native代码中得到一个ViewStylePropTypes模块来提供这个,但是我似乎无法找到它暴露的位置。

我想知道的是,在不重新发明轮子的情况下验证这一点的正确方法是什么?

1 个答案:

答案 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验证允许您的自定义组件同时验证这一点,从而为您提供更好的粒度。