1
resposta

Dúvida sobre o "piscar" da tela para carregar os pensamentos

Em alguns momentos, o projeto dá uma piscadinha rápida para carregar os pensamentos. Acontece quando clicamos no botao do Mural e quando estamos adicionando ou editando um Pensamento e cancelamos para voltar para a tela de Mural. O que pode ocasionar isto?

1 resposta

Oi, Jorge, tudo bem?

Entendo sua dúvida sobre o "piscar" da tela ao carregar os pensamentos no projeto Angular. Isso ocorre devido à forma como a recarga do componente está sendo feita. Inicialmente, a recarga estava sendo realizada com o método location.reload(), que recarrega toda a página. Em uma aplicação SPA (Single Page Application), isso não é desejado, pois o ideal é que apenas o componente necessário seja atualizado, sem a necessidade de recarregar toda a página.

Por isso, foi apresentada outra abordagem usando a classe Router do Angular, que permite manipular a navegação entre as views sem recarregar toda a página. No entanto, para que a recarga do componente funcione corretamente, é necessário configurar algumas propriedades do Router:

  • onSameUrlNavigation: essa propriedade define o que deve acontecer quando a navegação ocorre na mesma URL. No caso, foi atribuído o valor reload para haver a recarga da URL.

  • routeReuseStrategy.shouldReuseRoute: essa propriedade define a estratégia de reutilização de rotas. Por padrão, o roteador do Angular reutiliza a instância de um componente quando você navega para esse mesmo tipo de componente sem ter visitado um componente diferente primeiro. No entanto, nesse caso, foi passada uma função que retorna false para essa propriedade, indicando que a rota não deve ser reutilizada.

Com essas configurações, ao clicar no botão do Mural ou ao adicionar/editar um Pensamento e cancelar, a aplicação não deveria mais "piscar", pois a recarga da página não está mais sendo feita. Em vez disso, apenas o componente necessário é atualizado.

Contudo, vale lembra que mesmo após essa mudança, a piscada na tela pode ocorrer por conta da transição rápida entre os componentes, mas ainda sim a página não será recarregada e o princípio da Single Page Application (SPA) será mantido

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!