我当前正在使用 MaterializeCSS 在我的项目中。库中的某些组件需要在渲染后调用一些函数来装饰节点。例如,我需要跑步
var instance = M.FormSelect.init(elem, options);
在 <select> 渲染节点,以便对其进行装饰。然而,我如何在react中正确地做到这一点?我目前的做法是 document.querySelector (通过为组件指定唯一ID,因为react不会存储渲染的节点引用,除非…我使用react dom?),并在中运行初始化 componentDidMount() 。虽然这很管用,但感觉这不是完成事情的正确方式。
<select>
document.querySelector
componentDidMount()
您可以使用 refs 为此,如文档中所述。它指出,当您需要制作命令式动画时,refs很有用,我认为这适合您的用例。
正如文档所解释的,ref属性接受回调,当在html元素上使用时,回调的第一个参数是底层DOM节点。
<div ref={(node) => { /* perform imperative operations */ }}></div>