En el contexto de autenticación, tengo una función para iniciar sesión que establece el estado y algunos datos en las cookies. También configuro algunas rutas protegidas para que algunas páginas accedan solo si está conectado y determino si una cuenta está registrada desde el estado. Si actualizo la página, el estado predeterminado es nulo. Quiero establecer el estado con algunos datos de la API (token descifrado). En la declaración inicial del estado, tenía el siguiente código:
let [username, setUsername] = useState( sessionStorage.getItem('auth') ? jwtDecode(check_jwt()) : null ) La función check_jwt es una función asíncrona que descifra el token con una clave de usuario pública en la interfaz y luego lo envía a la API (con el método de búsqueda) para descifrar y validar el token. Si configuro el estado como el anterior después de actualizar, se envía al usuario a la página de inicio de sesión porque la información no llega "a tiempo". Todo esto está configurado en un componente de reacción que no puedo sincronizar, => eso significa que no puedo usar await before check_jwt() . ¿Qué puedo hacer para esperar al awnser y luego ejecutar el resto del código? Devuelvo en el proveedor de contexto el estado y lo llamaré en la función de ruta protegida.
Gracias y perdón por mi mal inglés :)