1
resposta

[Dúvida] Provider dentro da "Página Base" e performance

Olá!

Nessa aula, foi construído um template para todas as páginas, chamado de <PaginaBase />, e utilizado esse template para fazer uma rota aninhada.

Nessa <PaginaBase /> foi adicionado o provider de contexto <FavoritosProvider />.

Minha dúvida é: o fato de o provider estar na <PaginaBase /> pode causar algum problema de perfomance? Penso que ele será construído a cada chamada de uma nova página. Não seria melhor deixá-lo no arquivo Routes.js, englobando as rotas que irão utilizá-lo? Ou dá na mesma?

Obrigado.

1 resposta

Oi Matheus, tudo bem?

Desculpe a demora em retornar.

O fato do provider de contexto estar na componente <PaginaBase /> não deve causar problemas de performance significativos, desde que o provider seja bem implementado e a aplicação não tenha um grande número de páginas.

O provider é construído apenas uma vez quando a página é carregada, não a cada chamada de uma nova página. Além disso, o React possui mecanismos de otimização que evitam a construção desnecessária de componentes, como a memoização e o shouldComponentUpdate.

No entanto, se você tiver muitas páginas que não utilizam o contexto fornecido pelo provider, pode ser mais eficiente deixá-lo no arquivo Routes.js, englobando apenas as rotas que irão utilizá-lo. Isso pode reduzir o tamanho do componente <PaginaBase /> e evitar que o provider seja construído desnecessariamente.

De qualquer forma, a decisão de onde colocar o provider deve levar em consideração as necessidades específicas da sua aplicação e a sua arquitetura geral.

Um abraço e bons estudos.