React prop-types:来自现有 prop-types 的可重用验证器
react prop-types: reusable validator from existing prop-types
当谈到在 React 中使用 prop-types 时,有没有一种方法可以从现有的验证器中创建可重用的验证器
示例:验证 "header" object 其中 header 具有标题和图标:
Component.propTypes = {
header: PropTypes.shape({
title: PropTypes.string.isRequired,
icon: PropTypes.element,
})
}
我们可以编写一个可重用的 isHeader 函数,而不是在 prop 沿着组件链传递时重复此操作
Component.propTypes = {
header: isHeader
}
您可以使用类似的东西:
export const shared = {
header: PropTypes.shape({
title: PropTypes.string.isRequired,
icon: PropTypes.element,
})
}
然后:
Component.propTypes = {
{...shared}
}
您应该能够像这样创建您的可重用类型:
const myReusableHeader = PropTypes.shape({
title: PropTypes.string.isRequired,
icon: PropTypes.element,
})
然后你可以像这样在你的组件中使用它:
Component.propTypes = {
header: myReusableHeader
}
当谈到在 React 中使用 prop-types 时,有没有一种方法可以从现有的验证器中创建可重用的验证器
示例:验证 "header" object 其中 header 具有标题和图标:
Component.propTypes = {
header: PropTypes.shape({
title: PropTypes.string.isRequired,
icon: PropTypes.element,
})
}
我们可以编写一个可重用的 isHeader 函数,而不是在 prop 沿着组件链传递时重复此操作
Component.propTypes = {
header: isHeader
}
您可以使用类似的东西:
export const shared = {
header: PropTypes.shape({
title: PropTypes.string.isRequired,
icon: PropTypes.element,
})
}
然后:
Component.propTypes = {
{...shared}
}
您应该能够像这样创建您的可重用类型:
const myReusableHeader = PropTypes.shape({
title: PropTypes.string.isRequired,
icon: PropTypes.element,
})
然后你可以像这样在你的组件中使用它:
Component.propTypes = {
header: myReusableHeader
}