Выбор ответа Junior Ref и DOM спрашивают часто обновлено
Счётчик на ref
Вопрос
Пользователь нажал кнопку три раза. Что показано на экране?
function Clicker() {
const count = useRef(0);
return (
<button onClick={() => { count.current += 1; }}>
{count.current}
</button>
);
}
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 0. Изменение ref.current не вызывает рендер, поэтому экран остаётся с первоначальным 0, хотя внутри current уже 3.
Варианты ответа
- 0правильный ответ
- 3
- 1
- Ошибка: ref нельзя выводить в JSX
Разбор
Изменение ref.current не вызывает рендер, поэтому экран остаётся с первоначальным 0, хотя внутри current уже 3. Для отображаемых значений нужен state. 1 получилось бы, если бы рендер случился только раз. Вывести значение ref в JSX технически можно, просто это не обновится.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.