Así que tengo un enlace personalizado, que quiero usar en varios lugares en otros componentes como una función, que toma el parámetro (Ei Para useNavigate() de react-router-dom-v6 , lo usamos como const navigate = useNavigate() y luego navigate('./url/to/navigate') se puede usar en varios lugares).
Pero en el enlace personalizado, quiero procesar ese valor de parámetros a través de otro enlace personalizado. Esto es lo que probé, pero React no me permite tener ganchos dentro de la función de esta manera:
//useCustomHook.js function usePrevious(value) { const ref = useRef(); useEffect(() => { ref.current = value; }); return ref.current; } ... export default function useCustomHook() { function processingData(currentState){ const previousState = usePrevious(currentState); //React does not allow to have hook here return process(currentState, previousState); } return processingData; } //Component.js ... const cusHook = useCustomHook(); ... useEffect(()=>{ cusHook(state1) },[]) useEffect(()=>{ cusHook(state2) },[temp])¿Hay alguna manera de que pueda lograr esto?
No, no hay forma de que pueda usar el gancho dentro de la función javascript pura. ¿Por qué no hacer algo como esto:
export default function useCustomHook(currentState) { const previousState = usePrevious(currentState); const processingData = () => { return process(currentState, previousState); } return processingData; }