Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como nodo

Detectar cambios en nodos del DOM de componentes React

  Necesito detectar si en un render hubo un nodo que no cambió respecto al render anterior y por lo tanto el ref callback nunca será llamado. En React, el callback de un ref solo se dispara cuando el nodo cambia (se monta, se desmonta o se reemplaza). Si entre un render y el siguiente el mismo nodo se mantiene sin cambios, el callback no se vuelve a invocar . Por eso, si querés detectar que un nodo no cambió respecto al render anterior, no podés confiar únicamente en el callback del ref . Tenés algunas estrategias: 📌 Estrategias posibles Comparar referencias en un useEffect Guardás el nodo en un useRef y luego verificás si cambió entre renders: tsx function MiComponente() { const divRef = React.useRef<HTMLDivElement | null>(null); const prevNode = React.useRef<HTMLDivElement | null>(null); React.useEffect(() => { if (prevNode.current === divRef.current) { console.log("El nodo no cambió"); } else { console.log("El nodo cam...