Muitos desenvolvedores, quando se trata de funcionalidade padrão de aplicativos da web, por exemplo: armazenar e gerenciar valores booleanos, manipular teclas pressionadas ou criar stepper, muitas vezes tentam descobrir como fazer esta ou aquela função e mais frequentemente encontram uma maneira de implementar a funcionalidade do zero.
Não há necessidade de reinventar a roda!
Criadores e usuários de bibliotecas de funções reutilizáveis para vários frameworks (React, vue etc.) olham para esta abordagem com tal reação.
Para Vue — é, por exemplo, vueuse. (funções de utilidade vue)
Para React, o melhor hoje é o reactuse totalmente novo e com suporte ativo (para ganchos de reação)
Eles são necessários para tornar a vida menos desafiadora para os desenvolvedores. Prepare com antecedência todas as funções possíveis que o desenvolvedor possa necessitar em seu trabalho. Se ele usar um pacote pronto, pelo menos economizará tempo e, no máximo, minimizará a probabilidade de seu erro ou bug ser encontrado no código, pois cada função é testada separadamente. O caso de uso é realmente enorme. Com a ajuda dessas bibliotecas você pode, por exemplo:
E isso é apenas uma pequena parte de todos os casos possíveis.
VueUse é uma das bibliotecas mais populares para vue. Afinal, ele fornece a funcionalidade reutilizável mais básica. Algumas pessoas pensam que é um padrão na construção de aplicações Vue e sem ele é impossível fazê-lo. É difícil discordar, a biblioteca é composta por mais de duzentas funções e segue a ideologia descrita acima.
Embora elogie o vueuse como a melhor maneira de realizar perfeitamente uma grande ideia, não devemos esquecer a primeira biblioteca/framework js - React. E aqui a situação era mais desagradável. Afinal, não existe uma biblioteca estabelecida, confiável, extensa e única para React. Houve algumas tentativas de diferentes desenvolvedores, mas em um deles há poucos ganchos (no React eles são ganchos, sim), em algum lugar há ganchos construídos usando uma API não processada.
Para melhorar a situação, e como alternativa ao vueuse, mas em reagir, veio o reactuse.
Vamos pegar, por exemplo, e tentar criar um gerenciamento de lista com a ajuda de uma biblioteca e usando apenas o vanilla react.
import { useList } from "@siberiacancode/reactuse"; function App() { const { value, set, push, removeAt, insertAt, updateAt, clear, reset } = useList(["Pink Floyd", "Led Zeppelin"]); } export default App;
Obtemos value (valor do array), set (função para atribuir outro valor do array), push (função para adicionar valores ao array), removeAt (excluir por índice), updateAt (alterar valor por índice), clear (limpar a matriz), redefinir (redefinir para o valor padrão)
Agora o código para obter todos esses estados e funções no vanilla react:
const [value, setValue] = useState(["Pink Floyd", "Led Zeppelin"]); const [initialValue] = useState (["Pink Floyd", "Led Zeppelin"]); const set = (newValue: string[]) => { setValue(newValue); }; const push = (valueToPush: string) => { setValue((prevArray) => [...prevArray, valueToPush]); }; const removeAt = (index: number) => { setValue((prevArray) => [ ...prevArray.slice(0, index), ...prevArray.slice(index 1), ]); }; const insertAt = (index: number, item: "string") => setValue((l) => [...l.slice(0, index), item, ...l.slice(index)]); const updateAt = (index: number, newValue: string) => { setValue((prevList) => prevList.map((element, index) => (index === index ? newValue : element)) ); }; const clear = () => setValue([]); const reset = () => setValue(initialValue);
E obtemos exatamente os mesmos métodos e estado. E o código é muito mais pequeno e simples
A biblioteca é mantida ativamente, novos ganchos são adicionados, há um site conveniente com documentação, os ganchos usam fontes simples e possuem uma API mais elaborada. Agora existem mais de 80 ganchos implementados. Também quero observar que existem implementações absolutamente novas, que não vi em nenhum outro lugar:
Essas bibliotecas devem se tornar um padrão de desenvolvimento, só porque permitem que você não fique focado nos pequenos detalhes que já foram inventados há muito tempo, basta importá-los e utilizá-los.
npm-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