Así que estamos usando este lib react-native-date-picker para seleccionar fechas (obviamente).
Cuando se agota el tiempo de espera del usuario de la aplicación, estamos navegando al usuario de regreso a la pantalla de inicio de sesión. Sin embargo, si se abre el selector de fecha (este es un modal), permanecerá en la parte superior de la pantalla como siempre. Dentro de la biblioteca , no veo ninguna opción para decidir cuándo el modal debe permanecer visible/invisible.
Aquí hay algunos enfoques que he probado sin éxito
Usando forwardRef envolviendo mi componente secundario (que muestra el selector de fecha), tratando de acceder al componente a través de Ref. Sin éxito, siempre recibe NULL a cambio. Creo que la biblioteca tampoco es compatible con esto.
En función de los accesorios de tiempo de espera que almacenamos en Redux, dentro del componentdidupdate de función didupdate configuramos State para volver a renderizar la pantalla indicando que el accesorio de DatePicker se open como FALSO. Tampoco éxito.
Tengo curiosidad sobre la razón detrás de por qué sucede esto. ¿Cuáles son las posibles soluciones?
react-native-date-picker utiliza el módulo nativo del selector de fecha correspondiente para cada plataforma. Cuando se abre el modal nativo, se ejecuta en el subproceso nativo mientras que su código se ejecuta en el subproceso de JavaScript.
Cuando la sesión del usuario expiró y la aplicación navega a la pantalla de inicio de sesión, React Navigation intenta desmontar el componente de la pantalla actual, pero el Selector de fecha no está montado porque se ejecuta en Native Thread.
La lógica de su aplicación debe detectar si el modal se abrió antes y cerrarlo antes de navegar a la pantalla de inicio de sesión