O que são ganchos react e como eles funcionam?
Deixe um recado
Ei! Como fornecedor de gancho, estou super empolgado em falar sobre os ganchos do React hoje. Os ganchos do React têm sido um jogo - Changer no mundo do desenvolvimento do React, e acho muito legal entender como eles funcionam. Então, vamos mergulhar bem!
O que são ganchos de react?
Primeiras coisas primeiro, o que diabos são ganchos de reação? Bem, os ganchos do React são funções que permitem que você “conecte” os recursos de estado e ciclo de vida dos componentes da função. Antes que os ganchos aparecessem, se você quisesse usar os recursos de estado ou outros recursos em um componente, precisava usar componentes de classe. Mas com ganchos, você pode fazer tudo isso em um componente de função, que é muito mais direto e mais fácil de gerenciar.
Pense nos ganchos como pequenas ferramentas que você pode pegar e usar em seus componentes da função React. Eles oferecem acesso a itens como gerenciamento de estado, efeitos colaterais (como busca ou assinatura de dados em eventos) e outros recursos do React sem precisar escrever uma classe.
Um dos ganchos mais básicos e comumente usados é oo USSTATEgancho. Ele permite adicionar estado a um componente de função. Digamos que você esteja construindo um aplicativo de contador simples. Como USSTATE, você pode gerenciar o valor da contagem certo no seu componente de função.
importar react, {usestate} de 'react'; function contat () {const [count, setCount] = usestate (0); return (<div> <p> Você clicou {count} Times </p> <botão onclick = {() => setCount (contagem + 1)}> clique em mim </botão> </div>); } exportar contador padrão;
Neste exemplo,o USSTATEé um gancho que leva um valor inicial (neste caso,0) e retorna uma matriz com dois elementos. O primeiro elemento (contar) é o valor do estado atual e o segundo elemento (setCount) é uma função que você pode usar para atualizar o estado.
Como funcionam os ganchos do React?
Agora, vamos nos aprofundar em como esses ganchos realmente funcionam. Os ganchos do React dependem de algumas regras importantes.
Regra 1: apenas os ganchos de chamada no nível superior
Você não pode chamar ganchos dentro de loops, condições ou funções aninhadas. Os ganchos precisam ser chamados exatamente na mesma ordem toda vez que um componente renderiza. O React acompanha os ganchos que você chama em um componente e, se você os chamar de ordem, isso poderá levar a alguns bugs realmente estranhos.
Por exemplo, isso é ruim:
função badcomponent (adereços) {if (props.isvisible) {// ruim! Isso viola a regra const [valor, setValue] = usestate ('padrão'); return <div> {value} </div>; } retornar nulo; }
E isso é bom:
função goodcomponent (props) {const [value, setValue] = usestate ('default'); if (props.isVisible) {return <div> {value} </div>; } retornar nulo; }
Regra 2: Somente os ganchos de chamada das funções do React
Você só pode chamar ganchos de componentes da função React ou ganchos personalizados. Você não pode chamá -los de funções regulares de JavaScript. Isso garante que os ganchos sejam usados no contexto dos componentes do React.
Diferentes tipos de ganchos de reação
Existem vários construídos - em ganchos no React, e cada um serve para propósitos diferentes.
useeffect
OuseeffectO gancho é usado para efeitos laterais em um componente. Lateral - Efeitos são coisas como busca de dados, configuração de uma assinatura ou alterando manualmente o DOM em um componente REACT.
importar react, {usestate, useeffect} de 'react'; função dataFetcher () {const [dados, setData] = usestate (null); useeffect (() => {// simulando dados buscar dados fetch ('https://api.example.com/data') .Then (Response => Response.json ()) .then (Data => setData (dados)); // Função de limpeza () => {// Este será executado quando o componente (dados); return (<div> {data? } exportar dataFetcher padrão;
Neste exemplo, ouseeffectO gancho é executado após cada renderização por padrão. Mas se você passar por uma matriz vazia como o segundo argumento, ele só será executado uma vez, semelhante aComponentDidmountem um componente de classe. A função de limpeza opcional é usada para limpar quaisquer recursos configurados no efeito, como cancelar uma assinatura.
useContext
OuseContextO gancho permite acessar o contexto em um componente de função. O contexto é uma maneira de transmitir dados através da árvore de componentes sem precisar passar adereços manualmente em todos os níveis.
importar react, {createContext, useContext} de 'react'; const myContext = createContext (); function parent () {return (<mycontext.provider value = "hello from context"> <filho /> </myContext.provider>); } function filho () {const contextValue = useContext (myContext); return <p> {contextValue} </p>; } exportar pai padrão;
Neste exemplo, oPaio componente fornece um valor para o contexto, e oCriançaO componente pode acessar esse valor usando ouseContextgancho.
Ganchos personalizados
Como fornecedor de gancho, também quero mencionar ganchos personalizados. Os ganchos personalizados são uma ótima maneira de reutilizar a lógica de estado entre os componentes. Você pode criar seus próprios ganchos extraindo a lógica relacionada ao gancho em uma função separada.
Digamos que você tenha vários componentes que precisam buscar dados de uma API. Você pode criar um gancho personalizado para isso.
importar react, {usestate, useeffect} de 'react'; função usadaTAFETCHING (URL) {const [dados, setData] = usestate (null); const [carregamento, setLloading] = usestate (true); useeFeft (() => {setLoading (true); fetch (url) .then (resposta => Response.json ()) .then (data => {setData (data); setLoading (false);});}, [url]); retornar {dados, carregamento}; } function componente () {const {data, carregamento} = usedataFetching ('https://api.example.com/dataa'); return (<div> {carregando? <p> Carregando ... </p>: <p> {data.message} </p>} </div>); } function componentb () {const {data, carregamento} = usedataFetching ('https://api.example.com/datab'); return (<div> {carregando? <p> Carregando ... </p>: <p> {data.message} </p>} </div>); }
Neste exemplo, ousouTaFetchingO gancho personalizado encapsula a lógica para buscar dados de uma API. AmboscompostoeComponentebpode usar esse gancho personalizado para buscar dados diferentes.
Nossos produtos de gancho
Agora, como fornecedor de gancho, também quero falar sobre alguns de nossos incríveis produtos de gancho. Temos uma ampla gama de ganchos para diferentes aplicações. Por exemplo, nossoGancho de reboqueé perfeito para rebocar cargas pesadas. É feito de materiais de alta qualidade e é muito durável.
Se você precisar de um gancho que possa girar e encaixar facilmente, nossoSnap gwivel J Hooké uma ótima escolha. É muito versátil e pode ser usado em muitos cenários diferentes.
E para aqueles que precisam de um gancho J -Shaped para acessórios, nossoAcessório metal plano j ganchoé exatamente o que você está procurando. É forte e pode manter vários acessórios com segurança.
Conclusão e chamado à ação
Os ganchos do React são uma adição incrível ao ecossistema React. Eles facilitam a redação e o gerenciamento dos componentes da função e fornecem uma maneira mais intuitiva de lidar com os efeitos do estado e do lado. Seja você iniciante ou um desenvolvedor de React experiente, entender e usar ganchos pode realmente aumentar suas habilidades de desenvolvimento.


Se você estiver interessado em nossos produtos Hook, gostaríamos de conversar com você. Se você está procurando um único gancho ou precisa de um pedido em massa, estamos aqui para ajudar. Basta entrar em contato conosco e ficaremos felizes em discutir seus requisitos e fornecer as melhores soluções.
Referências
- Reaja documentação oficial
- Vários tutoriais e blogs de reação on -line






