Hol*_*yol 4 reactjs eslint react-proptypes
考虑一下:
import PropTypes from 'prop-types';
[...]
Component.propTypes = {
someProp: PropTypes.array,
}
Run Code Online (Sandbox Code Playgroud)
和 :
import PropTypes from 'prop-types';
[...]
Component.propTypes = {
someProp: PropTypes.arrayOf(PropTypes.any),
}
Run Code Online (Sandbox Code Playgroud)
第一个会eslint在编辑器中触发错误:
Prop type 'array' is forbidden eslint(react/forbid-prop-types)
但是,如果不遵守条件,它们都会触发相同的错误,并且根据文档,它的行为应该完全相同。
这两个验证之间有什么区别吗?
(我可以忽略这个错误吗?)
我想区别是
PropTypes.array扫描
[{name:'ABC'},{name:'XYZ'}]['Lorem','Ipsum'][2,4,66,4][['d'],[[{name:'a'},{name:'b'}]]][foo,bar]以及更多
而 forPropTypes.arrayOf则接受数组内的值类型的参数。喜欢更严格的规则
PropTypes.arrayOf(PropTypes.number)仅扫描
[2,4,66,4]因为你提到PropTypes.number如果存在其他数据类型,则会显示警告/错误
对于每个基元(整数、字符串)和非基元类型(对象、函数、数组)也是如此
喜欢
PropTypes.arrayOf(PropTypes.string)扫描
['Lorem','Ipsum']参考 - https://reactjs.org/docs/typechecking-with-proptypes.html#proptypes
| 归档时间: |
|
| 查看次数: |
6541 次 |
| 最近记录: |