gpt4 book ai didi

reactjs - PropTypes : PropTypes. 数组 VS PropTypes.arrayOf(PropTypes.any)

转载 作者:行者123 更新时间:2023-12-05 02:06:22 31 4
gpt4 key购买 nike

考虑一下:

import PropTypes from 'prop-types';

[...]

Component.propTypes = {
someProp: PropTypes.array,
}

和:

import PropTypes from 'prop-types';

[...]

Component.propTypes = {
someProp: PropTypes.arrayOf(PropTypes.any),
}

第一个将使 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]

还有更多

PropTypes.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

关于reactjs - PropTypes : PropTypes. 数组 VS PropTypes.arrayOf(PropTypes.any),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62811987/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com