代码之家  ›  专栏  ›  技术社区  ›  Jeffrey04 George

在渲染后反应中对DOM节点运行装饰功能

  •  1
  • Jeffrey04 George  · 技术社区  · 6 年前

    我当前正在使用 MaterializeCSS 在我的项目中。库中的某些组件需要在渲染后调用一些函数来装饰节点。例如,我需要跑步

    var instance = M.FormSelect.init(elem, options);
    

    <select> 渲染节点,以便对其进行装饰。然而,我如何在react中正确地做到这一点?我目前的做法是 document.querySelector (通过为组件指定唯一ID,因为react不会存储渲染的节点引用,除非…我使用react dom?),并在中运行初始化 componentDidMount() 。虽然这很管用,但感觉这不是完成事情的正确方式。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Mark    6 年前

    您可以使用 refs 为此,如文档中所述。它指出,当您需要制作命令式动画时,refs很有用,我认为这适合您的用例。

    正如文档所解释的,ref属性接受回调,当在html元素上使用时,回调的第一个参数是底层DOM节点。

    <div ref={(node) => { /* perform imperative operations */ }}></div>