Amigo, entrei em contato recentemente com a alura e eles descontinuaram esses curso de react native pq tava dando muitos problemas de atualização e não indicavam fazê-los mais.
Ms vou te dar uma dica do que encontrei na internet:
veja se o token que você está tentando decodificar é válido e está no formato correto. Às vezes, erros de codificação ou transmissão podem corromper o token.
Parece que você está usando a importação correta de jwt-decode
como import { jwtDecode } from "jwt-decode";
. Verifique se você instalou corretamente o pacote jwt-decode
e se está fazendo a importação correta no arquivo onde você está tentando usar a função jwtDecode
.
Verifique a Disponibilidade da Função atob
: Em React Native, a função atob
não está disponível por padrão, pois ela faz parte do ambiente de navegador. Para usar o atob
em React Native, você precisa importar a função manualmente. Você pode fazer isso adicionando o seguinte código no início do seu arquivo:
const { atob } = require('Base64');
Isso importará a função atob
do módulo Base64
. Certifique-se de instalar o pacote Base64
se ainda não estiver instalado:
npm install --save react-native-base64
- Se preferir não usar a função
atob
, você pode procurar por alternativas que funcionem em React Native, como base-64
. Você pode instalá-lo usando:
npm install --save base-64
E então, em seu código, você pode fazer algo assim:
import { decode } from 'base-64';
// Use decode() para decodificar a parte base64 do token
Se liga nesse tópico tbm: https://stackoverflow.com/questions/77481263/jwtdecode-invalidtokenerror-invalid-token-specified-invalid-base64-for-part