Встречается на собеседованиях • сегодня
Как в useState сохранить первоначальное состояние чтобы компонент не перерендовался
Для сохранения первоначального состояния без перерендера используйте useRef или useState с функцией-инициализатором.
С useRef:
jsx
const initialValue = props.value;
const ref = useRef(initialValue);
// ref.current всегда будет равен initialValueС useState (функция-инициализатор):
jsx
const [state] = useState(() => computeExpensiveInitialValue());
// Вычисляется только при первом рендереПочему не просто useState(initialValue)?
Если initialValue вычисляется динамически (например, props.value), при каждом рендере он будет пересчитываться, хотя React использует только первое значение. Функция-инициализатор решает эту проблему.
useRef подходит, если нужно сохранить значение без триггера ререндера.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы