En nuestra aplicación, intentamos aprovechar useEffect para realizar una llamada a la API en la limpieza de un componente, algo como esto:
useEffect(() => { return () => { myAPIFunction(dynamicProp) // api call here that leverages a prop } }) La idea aquí es que queremos que esta API llame al desmontaje de este componente. El problema es que a medida que nuestra aplicación avanza, dynamicProp cambia a nivel de componente, pero cada vez que se realiza la llamada a la API, obtenemos el valor dynamicProp como lo que sea que se haya inicializado.
Si lo actualizamos a lo siguiente:
useEffect(() => { return () => { myAPIFunction(dynamicProp) // api call here that leverages a prop } }, [dynamicProp]) Actualiza el prop en la función de limpieza, pero en realidad solo queremos llamar a esto una vez en la limpieza del componente, y esto hace que la limpieza se active cada vez que cambia dynamicProp .
¿Hay alguna solución en la que podamos hacer que dynamicProp sea... dinámico en nuestra limpieza sin tener que ejecutar la limpieza cada vez que cambie dynamicProp ?