1
resposta

resuseComponent não está funcionando

Estou tendo problemas em recarregar a rota de listagem de pensamentos. Memso utilizando o mesmo código que foi mostrado na aula, a página não recarrega.

Estou utilizando o angular 14.2.10:

Segue os códigos

const routes: Routes = [
  //...
  {
    path: 'list-thought',
    component: ThoughtListComponent,
    data: {
      reuseComponent: true,
    },
  },
 //...
];

@NgModule({
  imports: [RouterModule.forRoot(routes, { onSameUrlNavigation: 'reload' })],
  exports: [RouterModule],
  providers: [
    {
      provide: RouteReuseStrategy,
      useClass: CustomReuseStrategy,
    },
  ],
})
export class AppRoutingModule {}

meu CustomReuseStrategy

//...
export class CustomReuseStrategy extends BaseRouteReuseStrategy {
  public override shouldReuseRoute(
    future: ActivatedRouteSnapshot,
    curr: ActivatedRouteSnapshot
  ): boolean {
    return future.data['reuseComponent'];
  }
}

função refresh

//...
refresh() {
    this.showFavories = false;
    this.currentPage = 1;
    this.router.navigate([this.router.url]);
  }
//...
1 resposta

Olá, Michelon!

Parece que você seguiu as instruções da aula corretamente para implementar a estratégia de reutilização de rotas personalizada, não consigo visualizar causas reais, mas tenho algumas observações.

Uma coisa que notei é que o nome da rota que você está tentando recarregar é 'list-thought', mas na aula, o nome da rota é 'listarPensamento'. Você verificou se o nome da rota que você está tentando recarregar corresponde ao nome da rota definida no seu array de rotas?

No mais é necessário ter maiores detalhes do seu código, algo pode ter passado e não estamos visualizando.

Espero que essas sugestões possam te ajudar a identificar o problema. Se após essas verificações o problema persistir, por favor, compartilhe mais detalhes sobre o comportamento que você está observando.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

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