He estado jugando con el nuevo sistema de enlace en React 16.7-alpha y me quedo atascado en un bucle infinito en useEffect cuando el estado que estoy manejando es un objeto o matriz.
Primero, uso useState y lo inicio con un objeto vacío como este:
const [obj, setObj] = useState({});
Luego, en useEffect, uso setObj para volver a establecerlo en un objeto vacío. Como segundo argumento, paso [obj], con la esperanza de que no se actualice si el contenido del objeto no ha cambiado. Pero sigue actualizándose. Supongo que porque no importa el contenido, estos siempre son objetos diferentes que hacen que React piense que sigue cambiando.
useEffect(() => {
setIngredients({});
}, [ingredients]);
Lo mismo ocurre con las matrices, pero como primitiva no se atasca en un bucle, como se esperaba.
Usando estos nuevos ganchos, ¿cómo debo manejar los objetos y la matriz al verificar si el contenido ha cambiado o no?