gpt4 book ai didi

javascript - isRequired 对于嵌套 PropType 是必需的吗?

转载 作者:行者123 更新时间:2023-12-01 02:32:26 24 4
gpt4 key购买 nike

假设我定义了这个 PropType:

Component.propTypes = {
complicatedData: PropTypes.arrayOf(
PropTypes.shape({
name: PropTypes.string,
data: PropTypes.arrayOf(PropTypes.number)
})
).isRequired,
};

如果需要该数据结构,则该嵌套结构的每个级别都需要 isRequired 属性,或者最后的顶级 isRequired 是否包含内部的所有内容?

最佳答案

顶级isRequired仅检查是否提供了complicatedData并且是一个数组。您可以为其提供一个包含空对象的数组,例如 [{}, {}],它将根据您的代码通过测试。

如果您希望数组 complicatedData 中的每个元素都有一个 name 属性,那么您需要编写:

Component.propTypes = {
complicatedData: PropTypes.arrayOf(
PropTypes.shape({
name: PropTypes.string.isRequired,
data: PropTypes.arrayOf(PropTypes.number)
})
).isRequired,
};

如果您希望每个元素都有一个 data 属性,则相同。

关于javascript - isRequired 对于嵌套 PropType 是必需的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48218641/

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