Встречается на собеседованиях • сегодня
Как реализовать свой useState
Вот простая реализация useState на основе замыканий:
js
let state;
let setters = [];
function useState(initialValue) {
if (state === undefined) {
state = initialValue;
}
const setter = (newValue) => {
state = newValue;
render(); // перерисовка компонента
};
setters.push(setter);
const currentSetter = setters[setters.length - 1];
return [state, currentSetter];
}
function render() {
// Здесь будет логика перерисовки компонента
}
text
Пример использования:
```js
const [count, setCount] = useState(0);
setCount(5); // обновит состояние и вызовет render()Это упрощённая версия. Настоящий React:
- Хранит состояние для каждого компонента отдельно
- Поддерживает асинхронные обновления
- Оптимизирует перерисовки
- Работает с очередью обновлений
Для нескольких useState нужно хранить массив состояний и индекс текущего хука.

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