gpt4 book ai didi

reactjs - 在 defaultProps 中设置子项

转载 作者:行者123 更新时间:2023-12-03 13:28:58 26 4
gpt4 key购买 nike

我正在开发一个包含一些子组件的 React 组件。我希望它有一组默认的子元素,如果它的元素是在没有指定子元素的情况下创建的(即 <MyContainerComponent ... /> 应该等于 <MyContainerComponent ...><!-- some default child elements --></MyContainerComponent> )。

来自https://github.com/facebook/react/blob/v0.14.8/src/isomorphic/classic/element/ReactElement.js#L135 ,据我了解props.children将是undefined如果没有指定 child 。因此,我想依靠这个并设置 childrendefaultPropsMyContainerComponent

但是,我不确定我的决定是否与 React 的实现耦合太多(即,按照设计,作为 React 用户,是否可以像对待任何其他未定义的 prop 一样对待 children ,如果您没有明确定义它)。我读过的所有其他 Material children将其视为单个元素或数组,但不可能 undefined .

我真的很感激更有经验的意见。

最佳答案

React 项目在记录如何处理 props.children 方面并没有做得很好,但我想说:

it [is] acceptable to treat children just like any other prop that would be undefined if you did not explicitly define it

引用文献:

Comments by Sebastian Markbåge :

The type of this.props.children is whatever your component's propTypes says it is.

还有:

We recommend that most of the time you use the general ReactNode type for your this.props.children.

其中ReactNode的定义包括未定义

我的解释是,undefinedprops.children 的有效值,通常应该是默认值。但请注意,对于 JSX,即使是空格也可能会影响该值:

<MyContainerComponent> </MyContainerComponent>

所有这些,正如链接的 GitHub 问题所示,我正在努力更好地记录这一点,以便 API 契约(Contract)清晰:)

关于reactjs - 在 defaultProps 中设置子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36752184/

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