Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Função da prop initialEntries no MemoryRouter

Olá!

Estou com dificuldade de entender o componente MemoryRouter e a prop initialEntries. A documentação no React Router é bem sucinta nessa parte...

Por favor, gostaria de saber se meu raciocínio a respeito desse componente está certo: o MemoryRouter "simula" a URL que digitamos no navegador. Então, quando passamos somente um elemento no array para a prop initialEntries, estamos informando que estamos naquela rota naquele momento. Seria isso?

Exemplo de código:

// simulando a URL ".../cartoes"
<MemoryRouter initialEntries={['/cartoes']}>
    <App />
</MemoryRouter>

Mas e no caso de haver mais de um item no array da prop initialEntries? Qual seria a função dessa prop? Seria algo do tipo: simular um histórico de navegação, com cada elemento do array sendo um item do histórico, e o último elemento sendo a rota atual?

Exemplo de código

// simulando a navegação pelas rotas home, cartoes e investimentos (rota atual: investimentos)
<MemoryRouter initialEntries={['/', '/cartoes', '/investimentos']}>
    <App />
</MemoryRouter>

Obrigado.

1 resposta
solução!

Olá Matheus!

Entendi sua dúvida sobre o MemoryRouter e a prop initialEntries. Você está correto em sua interpretação: o MemoryRouter é um componente que simula a navegação em uma aplicação React, permitindo que você navegue entre diferentes rotas sem precisar recarregar a página. E a prop initialEntries é utilizada para definir as rotas iniciais do seu histórico de navegação.

Quando você passa apenas um elemento no array da prop initialEntries, você está informando que aquela é a rota atual da sua aplicação. Já quando você passa mais de um elemento, está simulando um histórico de navegação, onde cada elemento do array representa uma rota visitada anteriormente, e o último elemento é a rota atual.

Por exemplo, no seu segundo exemplo de código, você está simulando uma navegação onde o usuário visitou primeiro a rota "/", depois a rota "/cartoes", e por último a rota "/investimentos". E a rota atual é "/investimentos".

Espero ter ajudado e bons estudos!