【问题标题】:Is there a legit way to manipulate DOM from under React?有没有一种从 React 下操作 DOM 的合法方法?
【发布时间】:2021-12-21 20:36:33
【问题描述】:

考虑到让 React 快速运行的所有努力,当涉及到由 React 管理的 DOM 操作时,我仍然遇到性能问题。有没有办法从 React 下切换到直接 DOM 操作而不破坏它?

PS:我对删除 DOM 节点特别感兴趣。

【问题讨论】:

    标签: javascript reactjs google-chrome dom


    【解决方案1】:

    一种安全的处理方式是完全在 React 之外构建对性能敏感的组件。

    这可以通过web components 完成。 React 有一个页面解释了如何通过here 一起使用 Web 组件和 React 组件。

    因此,您可以完全控制 Web 组件中的影子 DOM 以执行您希望执行的任何 DOM 操作,然后您可以在 React 中插入您的 Web 组件,而不必担心 React 的虚拟 DOM 算法会干扰您的操作'已经在影子 DOM 中完成了。

    【讨论】:

      【解决方案2】:

      React 就是操纵状态来触发 DOM 的重新渲染。与其像在 jQuery 中那样从 DOM 中任意删除元素,不如通过从 props 中过滤掉项目来更新状态。将触发重新渲染 DOM 并移除项目的项目。

      为了更好的操作,您可以将 state 用于小型项目,将 redux 用于大中型项目。

      useRefuseState 易于使用和操作。

      【讨论】:

      • 看起来 O.P. 了解如何进行状态操作,但他们正在努力寻找一种以高效方式进行操作的方法。
      猜你喜欢
      • 2017-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      • 1970-01-01
      • 2023-01-30
      • 2020-02-10
      • 1970-01-01
      相关资源
      最近更新 更多