DOM и React Middle Состояние и useState/useReducer обновлено

usePrevious

Условие

Хук возвращает значение с предыдущего рендера. На первом рендере - undefined.

Что проверяют тесты

  • на первом рендере undefined

  • отдаёт прошлое значение

Как подойти

Ref хранит значение между рендерами и не вызывает перерисовку. Запись в эффекте происходит уже после того, как компонент отрендерился со старым ref.current - в этом вся хитрость. Если писать прямо в теле компонента, предыдущее значение потеряется.

Подсказки: 2
  1. Между рендерами значение переживает только ref.
  2. Записывать ref нужно после рендера - то есть в эффекте.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.