React Hooks introduziram uma nova abordagem para gerenciar lógica com estado. Considerando que os componentes React sempre estiveram mais próximos das funções do que das classes, os Hooks adotaram isso e trouxeram estado para as funções, em vez de usar classes para levar a função ao estado com métodos. Outro elemento básico do gerenciamento de estado em aplicações React é o Redux, e já observamos que a biblioteca está sob escrutínio, o que sugere que às vezes a complexidade do Redux não vale a pena e, em tais casos, uma abordagem simples usando Hooks é preferível. Fazer rollout disso pode rapidamente se tornar complicado caso você esteja trabalhando individualmente; portanto, recomendamos considerar uma combinação de React Context e os hooks useContext e useReducer, como explicado neste blog post.
O React Hooks introduziu uma nova abordagem para gerenciar a lógica stateful. Como os componentes React sempre estiveram mais próximos das funções do que as classes, o Hooks adotou isso e trouxe estado para as funções, em vez de assumir as funções como métodos para o estado com classes. Com base em nossa experiência, o Hooks aprimora a reutilização da funcionalidade entre componentes e a legibilidade do código. Dadas as melhorias de testabilidade de Hooks, o uso de React Test Renderer e React Testing Library e seu crescente suporte na comunidade, os consideramos nossa abordagem de escolha.
No começo deste ano, o React Hooks foi introduzido ao popular framework JavaScript. Eles tornaram possível usar estado e outras funcionalidades do React sem escrever uma classe, oferecendo uma abordagem mais limpa do que componentes de ordem superior ou render-props para casos de uso. Bibliotecas, tais como Material UI e Apollo já mudaram para o Hooks. Há alguns problemas com testes Hooks, principalmente com Enzyme, que contribuíram para nossa reavaliação da Enzyme como escolha de ferramenta.