Esta pregunta está relacionada con ésta . Estoy reformulando para hacerlo simple.
Tengo un componente de navegación principal (MainNavigation.js) que es hermano de un Componente de navegación secundario (SecNavigation.js) bajo el componente de encabezado (Header.js).
Lo que quiero es cuando hago clic en un enlace específico en MainNavigation.js, todo SecNavigation.js se mostrará en un modal.
Mi problema aquí es que no entiendo muy bien cómo debo usar useState, useContext o incluso si necesito algo de esto.
Espero que esto te aclare algo
Lo que necesita es un padre que maneje el estado y luego lo pasará a sus hijos. Porque el padre está haciendo un seguimiento de los niños y de lo que están haciendo.
Entonces, lo que he hecho es esto:
App.js es el padre y yo manejo el estado aquí. Luego simplemente paso la función setIsModalShowing setState a MainNav que la llamará cuando presione un botón.
Luego, en App.js mostraré u ocultaré el modal si setIsModalShowing es true o false
dentro del modal, estoy mostrando SecNav y el modal también tiene el setIsModalShowing transmitido para que pueda hacer clic en el botón para cerrar y eso establecerá el estado en falso.
¿Tiene eso sentido para ti? o bien puedo tratar de explicarlo de otra manera