启用了forbid-prop-types规则后,eslint
禁止使用style: React.PropTypes.object
,shape
建议使用.
但是真的有必要为此目的定义所有可用的属性吗?
DEMO.propTypes = { style: React.PropTypes.shape({ color: React.PropTypes.string, fontSize: React.PropTypes.number, ... }) };
定义代码太多了!
React Native现在包含ViewPropTypes
,将替换View.propTypes.style
.用法示例:
import { ViewPropTypes } from 'react-native'; MyComponent.propTypes = { style: ViewPropTypes.style };
View.propTypes.style
要么
Text.propTypes.style
它看起来像这样:
DEMO.propTypes = { style: Text.propTypes.style, ... };
https://facebook.github.io/react-native/releases/0.21/docs/style.html#pass-styles-around
一种可能性是使用react-style-proptype包,如下所示:
import stylePropType from 'react-style-proptype';
MyComponent.propTypes = {
style: stylePropType,
};