/ / Ejecuta la función decorativa al nodo DOM en reaccionar después de renderizar - javascript, reactjs, materialize

Ejecuta la función decorativa al nodo DOM en reaccionar después del renderizado - javascript, reactjs, materialize

Actualmente estoy usando MaterializeCSS en mi proyecto Algunos componentes de la biblioteca requieren llamar a algunas funciones para decorar un nodo después del renderizado. Por ejemplo, necesito correr

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

después de la <select> el nodo se representa para que esté decorado. Sin embargo, ¿cómo lo hago correctamente en reaccionar? Mi truco actual es hacer una document.querySelector (asignando una ID única al componente porque reaccionar no almacena la referencia del nodo representado, a menos que ... yo use react-dom?), y ejecute la inicialización en componentDidMount(). Mientras funciona, pero simplemente no se siente como la forma correcta de hacer las cosas.

Respuestas

1 para la respuesta № 1

Puedes usar refs para esto, como se describe en la documentación. Establece que los refs son buenos para cuando necesitas hacer animaciones imperativas, que creo que se adaptan a tu caso de uso.

Como explican los documentos, el atributo ref toma una devolución de llamada, y cuando se usa en un elemento html, el primer argumento de la devolución de llamada es el nodo DOM subyacente.

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