DOM и React Middle Состояние и useState/useReducer обновлено
usePrevious
Условие
Хук возвращает значение с предыдущего рендера. На первом рендере - undefined.
Что проверяют тесты
на первом рендере undefined
отдаёт прошлое значение
Как подойти
Ref хранит значение между рендерами и не вызывает перерисовку. Запись в эффекте происходит уже после того, как компонент отрендерился со старым ref.current - в этом вся хитрость. Если писать прямо в теле компонента, предыдущее значение потеряется.
Подсказки: 2
- Между рендерами значение переживает только ref.
- Записывать ref нужно после рендера - то есть в эффекте.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Термины по теме
Ещё по теме «Состояние и useState/useReducer»
- Производное значение
- Стабильность dispatch
- Батчинг
- Ленивая инициализация state
- Функциональный апдейтер
- useReducer
- Апдейтер вперемешку со значением
- Ленивая инициализация