- Follow the rules of Hooks
- Only call Hooks at the top level
- Only call Hooks from function components
- Use the ESLint plugin for React hooks
- Create your function components in the right order
- useState can be used exactly like the class component’s state. Not just for a single value
- Use custom hooks for sharing application logic
- Avoid prop drilling with useContext