Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

[Dúvida] reactRouterDom.useNavigate) is not a function

Opa estou com esse error poderia da uma olhada


TypeError: (0 , _reactRouterDom.useNavigate) is not a function

       5 | export const Rodape = () => {
       6 |   const participantes = useListaDeParticipante();
    >  7 |   const navigate = useNavigate();
         |                               ^
       8 |   
       9 |   const inciarSorteio = () => {
      10 |     navigate('/sorteio')
6 respostas

Salve, Julio!

Consegue dar uma conferida no package.json e ver qual a versão do react-router-dom está instalada no projeto?

Opa segue link do git https://github.com/jcbarcelos/sorteador-amigo-secreto

Estou com o mesmo problema

Salve, Julio!

No seu caso, o problema está aqui na linha 14 do arquivo Rodape.test.tsx.

O correto seria:

jest.mock("react-router-dom", () => {
  return {
    useNavigate: () => mockNavegacao, // o useNavigate estava com uma letra errada, e o mockNavegacao não pode ser invocado nesse momento.
  };
});

Repara que antes estava assim:

jest.mock("react-router-dom", () => {
  return {
    useNavegate: () => mockNavegacao(),
  };
});

Os ajustes:

  • useNavegate vira useNavigate
  • mockNavegacao() vira mockNavegacao sem os ()

Consegue testar aí, Júlio?

solução!

Pedro, consegue compartilhar o seu repositório? :)

Olá Vinicios! Segui a solução que você proprôs e funcionou aqui pra mim! Obrigado!