Estoy creando una función de devolución de llamada para pasar setState de hijo a padre. Sin embargo, me encontré creando toneladas de funciones para cada tipo de estado que estoy usando y me preguntaba si habría una manera de hacer esto genérico. Aquí hay un ejemplo de una de las funciones:
const setIsModalVisible = useCallback(val => { setModalVisible(val); }, [setModalVisible]);
Cada función es la misma pero usa un setState diferente. ¡Cualquier ayuda sería genial! Gracias
Crear una función que devuelva la devolución de llamada
const GetCallback = (func) => { return useCallback( (val) => { func(val); }, [func] ); };
y llame a esa función pasando setState como argumento.
Enlace de CodeSandbox: https://codesandbox.io/s/quiet-lake-h2pzr?file=/src/App.js
Los ganchos de reacción (así que useCallback
también) deben usarse en la raíz de la función del componente. Por lo tanto, no puede crear un generador para crear múltiples useCalback.