Estoy manejando alguna funcionalidad en algunas funciones. Básicamente estoy manejando algunos estados en múltiples funciones. Esas funciones deben llamarse cuando se actualiza un estado particular. Ahora hay muchos estados para actualizar. Así que probé este enfoque, creé una función para un caso específico y luego establecí su estado de acuerdo con ese valor, pero todo está en un useEffect.
useEffect(() => { if (notificationAction && actualCase) { switch (actualCase) { case firstCase: handleStatesBasedOnFirstCase(); break; case firstCase: handleStatesBasedOnSecondCase(); break; } } }, [actualCase, notificationAction])Y esa función también es una devolución de llamada.
const handleStatesBasedOnFirstCase = useCallback(() => { if (someState !== props.someState) { // Setting some states here } }, [somestates...])¿Es una buena práctica? ¿O simplemente daré condiciones mientras inicializo el estado?
const [someState, setSomeState] = useState(props.someState || props.someOtherValue);Creo que establecer accesorios en useState no es una buena práctica. Esa es la razón por la que estoy tratando de mantener múltiples funciones para establecer un estado adecuado según los casos y condiciones adecuados. Por favor, ayúdame.
Según la respuesta de @Nikki9696 en los comentarios, usar reducer hará el trabajo.