El escenario es que hay un estado de objeto con una matriz en él. Quiero que useEffect se ejecute cuando se agreguen o cambien valores en él. Probé algunas soluciones pero ninguna funcionó.
const [filter, setFilter] = useState({}) const firstUpdate = useRef(true); useEffect(() => { console.log("Filter Updated") if (firstUpdate.current) return firstUpdate.current = false; // API Calls Here }, [filter]) const handler = (categoryName, categoryId) => { let x = filter; x.categoryIDs = [categoryId]; setFilter(x) }React compara por referencia. Simplemente modifica una propiedad de un objeto y la usa en el nuevo estado, esto no funcionará.
Prueba setFilter({...x}) .