Fac*_*res 20 reactjs airbnb-js-styleguide linter react-proptypes
我有以下内容PropTypes:
SmartTable.propTypes = {
name: React.PropTypes.string.isRequired,
cols: React.PropTypes.array.isRequired,
rows: React.PropTypes.array.isRequired,
};
Run Code Online (Sandbox Code Playgroud)
但是linter说我:
Prop type array is forbidden,我该怎么改呢?
Fac*_*res 49
一个可能的解决方案(但我认为它不聪明):
SmartTable.propTypes = {
name: React.PropTypes.string.isRequired,
cols: React.PropTypes.arrayOf(React.PropTypes.string),
rows: React.PropTypes.arrayOf(React.PropTypes.string),
};
Run Code Online (Sandbox Code Playgroud)
对我有用的解决方案之一:
如果你想要数组:
SmartTable.propTypes = {
name: PropTypes.string.isRequired,
cols: PropTypes.instanceOf(Array),
rows: PropTypes.instanceOf(Array),
};
Run Code Online (Sandbox Code Playgroud)
对于对象和数组,它可以是:
SmartTable.propTypes = {
name: PropTypes.string.isRequired,
cols: PropTypes.instanceOf(Object),
rows: PropTypes.instanceOf(Array),
};
Run Code Online (Sandbox Code Playgroud)
如果列和行的数组是我喜欢使用shape的对象,则可能是这样的。
SmartTable.propTypes = {
name: PropTypes.string.isRequired,
cols: PropTypes.arrayOf(PropTypes.shape({
id: PropTypes.string.isRequried,
value: PropTypes.string,
})
rows: PropTypes.arrayOf(PropTypes.shape({
id: PropTypes.string.isRequried,
value: PropTypes.string,
})
Run Code Online (Sandbox Code Playgroud)
};
| 归档时间: |
|
| 查看次数: |
16861 次 |
| 最近记录: |