React向children传参
风中勁草 2020-09-15 JSReact
之前都是看到别人使用clone的方式传参,后面在论坛发现原来官方文档已经给出了方案
# React向children传参
# 使用原因
之前都是看到别人使用clone的方式传参,后面在论坛发现原来官方文档已经给出了方案
React.cloneElement(
element,
[props],
[...children]
)
1
2
3
4
5
2
3
4
5
以 element 元素为样板克隆并返回新的 React 元素。返回元素的 props 是将新的 props 与原始元素的 props 浅层合并后的结果。新的子元素将取代现有的子元素,而来自原始元素的 key 和 ref 将被保留。
React.cloneElement() 几乎等同于:
<element.type {...element.props} {...props}>{children}</element.type>
1
但是,这也保留了组件的 ref。这意味着当通过 ref 获取子节点时,你将不会意外地从你祖先节点上窃取它。相同的 ref 将添加到克隆后的新元素中。
引入此 API 是为了替换已弃用的 React.addons.cloneWithProps()。