【发布时间】:2023-03-31 05:29:01
【问题描述】:
React 16 发布了许多新功能。其中之一是 ReactDOM.createPortal(child, container) API,它可以方便地从视觉上突破其容器。
然而,它似乎不仅打破了它的容器,而且打破了我从 Web 开发的第一天学到的基本 html 规则。 createPortal API 让您可以在父组件之外渲染组件,并打破我们预期的 html 结构约定。
另一方面,我们确实获得了更大的灵活性,现在可以在兄弟组件或其他组件中渲染 DOM。
IMO,我认为通过交易 html 约定来获得更多灵活性并不是一个好交易。官方提供的 example 也不能说服我。
我很好奇的是: 是否有人面临必须使用 createPortal API 的任何条件?
谢谢
【问题讨论】:
-
这在很多情况下对我来说真的很有用。见stackoverflow.com/a/39828187/82609