gpt4 book ai didi

javascript - 针对特定子组件的 React propTypes

转载 作者:行者123 更新时间:2023-11-28 16:49:56 26 4
gpt4 key购买 nike

我有一个像这样的功能组件:

const Foo = () => <div>Hello world</div>;

现在我有另一个接受子组件的组件,但应限制为 Foo 中的 1 个或多个特别是组件(不允许使用其他组件)。

const Bar = ({ children }) => <div>{children}</div>;

如何设置propTypesBar实现此验证?

Bar.propTypes = {
children: PropTypes.oneOf([
PropTypes.arrayOf(PropTypes.node),
PropTypes.node,
]);
};

上面的内容太宽松了,因为它会让任何组件类型为子组件。如何将其限制为仅允许 Foo

最佳答案

您可以使用PropTypes.shape

Bar.propTypes = {
children: PropTypes.oneOfType([
PropTypes.shape({
type: PropTypes.oneOf([Foo]),
}),
PropTypes.arrayOf(
PropTypes.shape({
type: PropTypes.oneOf([Foo]),
})
),
]).isRequired
};

关于javascript - 针对特定子组件的 React propTypes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60057398/

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