将 PropTypes 与多级对象反应
React PropTypes with multiple level object
我有一个来自 React Router4 的深层对象(多级)- 'props.match.params.type'。我不确定如何对如此深的对象进行道具验证。我看过 .shape() 但我不确定这是否适合深度。任何建议都会很棒...谢谢
const Register = (props) => {
console.dir(props)
console.log(props.match.params.type)
return (
<>
<RegisterMeta />
<section className="register">
Register
</section>
</>
)
}
Register.propTypes = {
type: PropTypes.string.isRequired
}
export default React.memo(Register)
感谢
您确实可以使用 .shape()
来定义这样的对象:
Component.propTypes = {
objectType: PropTypes.shape({
stringType1: PropTypes.string.isRequired,
stringType2: PropTypes.string.isRequired,
nestedObjectType: PropTypes.shape({
//... and so on ...
}).isRequired
}).isRequired
}
我有一个来自 React Router4 的深层对象(多级)- 'props.match.params.type'。我不确定如何对如此深的对象进行道具验证。我看过 .shape() 但我不确定这是否适合深度。任何建议都会很棒...谢谢
const Register = (props) => {
console.dir(props)
console.log(props.match.params.type)
return (
<>
<RegisterMeta />
<section className="register">
Register
</section>
</>
)
}
Register.propTypes = {
type: PropTypes.string.isRequired
}
export default React.memo(Register)
感谢
您确实可以使用 .shape()
来定义这样的对象:
Component.propTypes = {
objectType: PropTypes.shape({
stringType1: PropTypes.string.isRequired,
stringType2: PropTypes.string.isRequired,
nestedObjectType: PropTypes.shape({
//... and so on ...
}).isRequired
}).isRequired
}