1. Управление состоянием
useState
использовать редьюсер
2. Устранение побочных эффектов
useEffect
useLayoutEffect
3. Используйте контекстный API
использоватьконтекст
4. Запомнить все
useMemo
useCallback
5. Используйте ссылки
useRef
useImperativeHandle
6. Повторное использование
Извлечение повторно используемого поведения в пользовательские хуки
1. Управление состоянием
Путь класса
Крючок
useReducer
Альтернатива useState. Используйте его в компонентах, которым требуется сложное управление состоянием, например, несколько значений состояния обновляются несколькими методами.
2. Справляйтесь с побочными эффектами
использовать эффект
Путь класса
Крючки
useLayoutEffect
Почти то же самое, что и useEffect, но срабатывает синхронно после фазы рендеринга. Используйте это для безопасного чтения или записи в DOM.
использованиеконтекста
Классный путь
Крюк путь
useMemo
использоватьОбратный звонок
5. Используйте ссылки
useRef
useRef можно просто использовать как обычную ссылку React:
Но это также позволяет вам просто удерживать изменяемое значение при любом рендеринге. Кроме того, изменение значения ref.current не приведет к рендерингу.
useImperativeHandle
Позволяет настроить открытый интерфейс компонента при использовании ссылки. Следующий компонент будет автоматически фокусировать ввод дочернего элемента при монтировании: