Entendendo a API de contexto

Em um projeto React.js, criamos componentes e, em seguida, passamos adereços para esses componentes. Podemos passar esses adereços para níveis infinitos de componentes aninhados. Mas, se houver muitos componentes e todos precisarem de diferentes adereços compartilhados, o projeto se tornará incontrolável. É aí que entra a Context API. Ela nos permite usar props em níveis aninhados profundos sem fazer drill de props.

A maneira como o usamos é primeiro criando um contexto e para isso usamos o gancho createContext do react. Também podemos passar um valor padrão para ele, se quisermos. Em seguida, criamos um componente de provedor para esse contexto. O objeto context possui um componente provedor onde passamos o valor do contexto como prop. Aqui eu passei tanto o valor de contexto quanto uma função que permitirá que os componentes do consumidor modifiquem o valor.

Criando um contexto

Qualquer componente aninhado dentro do provedor terá acesso ao valor desse contexto específico. Podemos até aninhar um componente dentro de vários provedores e ele consumirá os valores de todos eles.

Definindo consumidores

Aqui, os componentes Player e Match consumirão os valores do FootballProvider e do OtherProvider também.

Para usar o valor do provedor, precisamos usar o gancho useContext.

Usando o valor de contexto

Isso permite o uso de valores compartilhados entre componentes profundamente aninhados sem componentes intermediários mantendo valores como pontes. Uma desvantagem de usar a Context API é que sempre que o valor do contexto muda, todos os componentes sob ele serão renderizados novamente. Mas não seria completamente justo chamar isso de desvantagem, pois esse comportamento também é benéfico em alguns cenários.

Suggested posts

Evitando as consequências devastadoras de um derrame: aprendendo com a jornada de uma família.

Evitando as consequências devastadoras de um derrame: aprendendo com a jornada de uma família.

Introdução O AVC é uma emergência médica que pode atingir qualquer pessoa a qualquer momento. Ocorre quando o fluxo sanguíneo para uma parte do cérebro é interrompido, levando a uma perda repentina da função cerebral.

A revolução sem código: liberando a prosperidade dos negócios com Webflow, Framer, Bubble.io,

A revolução sem código: liberando a prosperidade dos negócios com Webflow, Framer, Bubble.io,

Embarque em uma emocionante jornada de inovação e sucesso enquanto explora o potencial inexplorado dessas surpreendentes plataformas sem código. Deixe-me compartilhar uma história com você sobre Sapna, uma notável empresária.

Related posts

Rede de TV Twitter

Rede de TV Twitter

O que é velho agora é novo de novo e o que costumava ser a coisa brilhante e brilhante agora parece opaco. Não estou falando de jeans JNCO fazendo um retorno entre os garotos legais do centro da cidade junto com outras modas do final dos anos 1990.

A arte é sempre apolítica?

A arte é sempre apolítica?

Ontem, fechamos a porta do Festival Eurovisão da Canção deste ano com uma brilhante e caótica grand finale, onde a cantora sueca Loreen levou para casa o troféu, tornando-se a primeira mulher a vencer duas vezes e trazendo a coroa de volta para a Suécia 50 anos depois que o ABBA venceu a competição com “Waterloo”. Eles se tornaram um dos maiores artistas do cânone da música pop.

Aprender na semana de trabalho é mais importante do que você pensa

Aprender na semana de trabalho é mais importante do que você pensa

Muitas vezes nos encontramos lutando para implementar o que sabemos que é bom para nós. Desde dizer a um outro significativo que o amamos até lembrar de falar como um pirata, sempre haverá quem afirme que um dia, semana ou mês de eventos não é necessário porque eles já estão fazendo essas coisas.

Encontrar informações sobre nomes de domínio

Um trecho de Small, Sharp Software Tools por Brian P. Hogan

Encontrar informações sobre nomes de domínio

Quando você faz uma solicitação para facebook.com, seu computador procura o nome de domínio para traduzir esse nome de domínio em um endereço IP para que seu computador possa fazer essa conexão.