【发布时间】:2019-03-04 07:07:09
【问题描述】:
所以,我有两个组件,一个永远是另一个的直系后代。我想将道具从父组件传递给子组件。可能有多个子组件。有两种方法可以实现。
React.Children.map(children, (child) =>
React.cloneElement(child, { someProp: 'value' })
)
或使用上下文 API
<Context.Provider value={{ someProp: 'value' }}>
{this.props.children}
</Context.Provider>
两者都会产生相同的 DOM 结构,但是,Context API 的代码会稍微多一些,并且会产生更多的 React 组件。
那么哪一个更注重性能和推荐。我找不到与此比较相关的任何讨论,因此在这里询问。
【问题讨论】:
标签: javascript reactjs performance react-context