Nesta linha:
pipe(switchMap(route => route.data))Não entendi como funciona o SwitchMap. Poderia me explicar qual a função dele usando este contexto como exemplo?
Nesta linha:
pipe(switchMap(route => route.data))Não entendi como funciona o SwitchMap. Poderia me explicar qual a função dele usando este contexto como exemplo?
Fala ai Pedro, tudo bem? Vamos lá:
Não entendi como funciona o SwitchMap. Poderia me explicar qual a função dele usando este contexto como exemplo?
O switchMap recebe um Observable e devolve um novo, nesse cenário, ele está recebendo um Observable do map anterior:
.pipe(map(() => this.activatedRoute))Como valor desse Observable está chegando o activatedRoute e ele está devolvendo um Observable novo que vai conter as informações da rota: route.data.
Espero te ajudado.
Mas o map anterior não é esse?
.pipe(map(route => {
          while(route.firstChild) route = route.firstChild;
          return route;
        }))Além disso, o map
.pipe(map(() => this.activatedRoute))Só foi feito para devolver um Observable com o valor de this.activatedRoute? Se sim, por que não usar esse valor direto da variável que foi injetada?
Fala Pedro, vamos lá:
Mas o map anterior não é esse?
Sim, você está certo, acabei pegando uma parte do código na transcrição que não estava completa, o map anterior é exatamente esse, falha minha.
Só foi feito para devolver um Observable com o valor de this.activatedRoute? Se sim, por que não usar esse valor direto da variável que foi injetada?
Isso já envolve a maneira como cada um escreve seus códigos e lógicas, durante a aula o instrutor achou melhor fazer dessa maneira, assim conseguimos enxergar o fluxo através do cadeias de pipe.
O mesmo poderia ser escrito de outros N jeitos, vai como cada um gosta e tem seus estilos pessoais.
Espero ter ajudado.
Entendo, muito obrigado.
Magina Pedro, sempre que precisar não deixe de criar suas dúvidas.
Abraços e bons estudos.