Certifique-se de ter o conhecimento prévio necessário nestes:
Conhecimento básico de React
Node.js e npm
Para começar com um novo projeto React usando Vite, siga estas etapas:
eu. Abra seu terminal e execute o seguinte comando para criar um novo projeto:
npm create vite@latest my-react-app --template react
ii. Navegue até o diretório do seu projeto:
cd my-react-app
iii. Instale dependências: Instale os pacotes necessários para o seu projeto:
npm install
4. Inicie o servidor de desenvolvimento: Execute o servidor de desenvolvimento:
npm run dev
Seu aplicativo React agora estará em execução e você poderá visualizá-lo em seu navegador em http://localhost:5173.
React hooks são funções especiais que permitem usar estado e outros recursos do React em componentes funcionais. Ganchos como useState e useEffect são essenciais para gerenciar o estado e os efeitos colaterais.
ganchos personalizados podem ser descritos como uma forma de reutilizar a lógica em vários componentes. Em vez de repetir o código, você pode encapsulá-lo em um gancho personalizado, tornando seus componentes mais limpos e seu código mais fácil de gerenciar. assim como os ganchos React ao usar ganchos personalizados, certifique-se de iniciar o nome do componente com (use seguido do nome que deseja dar ao componente, por exemplo, useFetchData).useFetchData pode ser um gancho personalizado que busca dados de uma API e os retorna para o seu componente.
Compreendendo os ganchos:
Ganchos como useState, useEffect e useContext permitem usar o estado e outros recursos do React sem escrever uma classe. Eles são blocos de construção que permitem lidar com a lógica dos componentes de maneira modular.
Ganchos personalizados permitem reutilizar lógica com estado em diferentes componentes. Um exemplo simples é um componente contador, que possui funcionalidade de incremento, decremento e redefinição. Se você precisar da mesma lógica em vários componentes, a lógica pode ser movida para um gancho personalizado. Outro exemplo comumente usado é um componente que busca dados de uma API e, se você precisar da mesma lógica em vários componentes, poderá mover essa lógica para um gancho personalizado.
Exemplo: vamos criar um aplicativo de contador simples com React hook(useState).in app.jsx
import React, { useState } from "react"; import "./App.css"; function App() { // usestate hooks const [counterstate, setCounterstate] = useState(0); // function for increment,decrement and reset const increment = () => { setCounterstate((prev) => prev 1); }; const decrement = () => { setCounterstate((prev) => prev - 1); }; const reset = () => { setCounterstate(0); }; return (); } export default App;Counter App
{counterstate}
no código acima, a lógica reutilizável inclui contraestado, estado inicial (o), incremento, decremento e função de redefinição. o incremento adiciona 1 ao estado inicial, enquanto o decremento subtrai 1 do estado inicial, enquanto a redefinição redefine o primeiro estado inicial.
Etapa 2: extrair lógica em um gancho personalizado
import React, { useState } from "react"; const useCounter = (initialvalue) => { const [value, setValue] = useState(initialvalue); const increment = () => { setValue((prev) => prev 1); }; const decrement = () => { setValue((prev) => prev - 1); }; const reset = () => { setValue(initialvalue); }; return { value, increment, decrement, reset }; }; export default useCounter;Etapa 3 usando o gancho personalizado
import React, { useState } from "react"; const useCounter = (initialvalue) => { const [value, setValue] = useState(initialvalue); const increment = () => { setValue((prev) => prev 1); }; const decrement = () => { setValue((prev) => prev - 1); }; const reset = () => { setValue(initialvalue); }; return { value, increment, decrement, reset }; }; export default useCounter;Exemplo 2.
import React, { useState } from "react"; const useCounter = (initialvalue) => { const [value, setValue] = useState(initialvalue); const increment = () => { setValue((prev) => prev 1); }; const decrement = () => { setValue((prev) => prev - 1); }; const reset = () => { setValue(initialvalue); }; return { value, increment, decrement, reset }; }; export default useCounter;uso
import React, { useState } from "react"; const useCounter = (initialvalue) => { const [value, setValue] = useState(initialvalue); const increment = () => { setValue((prev) => prev 1); }; const decrement = () => { setValue((prev) => prev - 1); }; const reset = () => { setValue(initialvalue); }; return { value, increment, decrement, reset }; }; export default useCounter;Benefícios dos ganchos personalizados
Separação de preocupações:
Componentes mais limpos:
Melhores práticas para ganchos personalizados
Exemplo: useFetch, useForm, useAuth.
Tratamento de dependências:
Evitando novas renderizações desnecessárias:
Conclusão
Confira o projeto no GitHub: Meu Repositório GitHub
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3