gpt4 book ai didi

javascript - react : Create a new element from all children while adding props

转载 作者:行者123 更新时间:2023-11-27 22:54:16 26 4
gpt4 key购买 nike

我正在尝试循环所有子项并为其添加一个 Prop 。问题是它适用于所有直系 child ,但“孙子”(如果愿意)也不会收到新 Prop 。这是代码片段:

React.Children.map(this.props.children, child =>
React.createElement(
child.type,
Object.assign({}, {...child.props}, {newProp: "test"}),
)
)

所有直系子代都保留其 props,并获得 prop.newProp,并且孙代也将被返回,但没有 newProp。像这样传递 child 也是行不通的:

React.Children.map(this.props.children, child =>
React.createElement(
child.type,
Object.assign({}, {...child.props}, {newProp: "test"}),
child.props.children
)
)

编辑:

  • 请使用简单的旧式 ReactJS 答案,无需使用 Redux 等其他库。

最佳答案

所以我把它作为答案。您可以使用 context功能可以向所有子级公开一些 Prop ,而不将它们传递给子级、孙级等......

根据文档,这是一个实验性功能,但许多库(例如 Redux)都使用它。

只要确定你在上下文中传递了什么,IMO,在使用它之前你必须三思而后行

关于javascript - react : Create a new element from all children while adding props,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37754620/

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