gpt4 book ai didi

javascript - 可以在 proptype 形状中使用默认值吗?

转载 作者:行者123 更新时间:2023-11-29 15:57:11 24 4
gpt4 key购买 nike

是否可以为具有必需键值对和默认键值对的对象定义类型?

例子:

const myComponent = (props) => {
const {
myObject: {
someRequiredString,
someNotRequiredString,
}
}
}

myComponent.propTypes = {
myObject: PropTypes.shape({
someRequiredString.string.isRequired,
}).isRequired,
}

myComponent.defaultProps = {
myObject: {
someNotRequiredString: '',
}
}

最佳答案

所以如果我理解你是正确的,你需要非必需的对象位如果这个对象存在它必须有 2 个必填字段,也许一个非必需的

所以我们在这里:

componentForUser.propTypes = {
myObject: PropTypes.shape({
name:PropTypes.string.isRequired,
secondName:PropTypes.string.isRequired,
age:PropTypes.string,
}),
}

componentForUser.defaultProps = {
myObject: {
name: 'defaultName',
secondName: 'defaultSecondName',
age:21
}
}

在这种情况下,如果不需要 User 对象,您将获得具有以下属性的 User:


我的对象:{
名称:'默认名称',
secondName: 'defaultSecondName',
年龄:21
}

但是如果从 props 你会得到没有名字的对象 User,你会收到关于所需名字和 secondName 的警告。

关于javascript - 可以在 proptype 形状中使用默认值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57476875/

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