微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

React.cloneElement:将元素与其克隆区分开来

如何解决React.cloneElement:将元素与其克隆区分开来

之后

const element = <MyComp />
const cloned = React.cloneElement(element,someProps)

元素和它的克隆都被渲染。 (原始元素被渲染成一个门户。)

现在我需要将引用附加到 cloned 而不是 element

我相信我可以通过设置自定义 DOM 道具来实现这一点,例如:

const cloned = React.cloneElement(element,{ ...someProps,'data-cloned': true })

并在 MyComp 上的回调引用中发现道具:

const element = <MyComp ref={el => if (el.dataset.cloned) { myRef.current = el }}

但感觉我可能错过了比设置和读取数据属性更好的方法

(更新:它似乎不起作用,因为使用这种机制我永远不知道哪个实例应该将 ref 重置为 null)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。