Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Что такое реактивность?
Реактивность — это подход к программированию, при котором интерфейс автоматически обновляется при изменении данных или состояния. В React это реализуется через систему состояния и пропсов, позволяющую разработчикам легко управлять изменениями в приложении и обеспечивать согласованность между данными и отображением.
Как работает реактивность под капотом и как реализовать её?
Реактивность в React работает через использование состояния и хуков, таких как useState и useEffect. Когда состояние изменяется, React автоматически инициирует перерисовку компонентов, которые зависят от этого состояния, обеспечивая согласованность между данными и интерфейсом. Реактивность достигается через механизм подписки на изменения состояния и виртуальный DOM, который минимизирует обновления реального DOM.
На каком паттерне построен MobX?
MobX построен на паттерне Observer и принципах реактивного программирования. Состояние объявляется как observable, а компоненты автоматически становятся наблюдателями. При изменении данных MobX сам решает, какие части UI нужно обновить. Разработчику не нужно вручную описывать связи между состоянием и представлением.
Чем отличается изменение state от изменения ref в React
Изменение state приводит к ререндеру компонента, а изменение ref — нет. state используется для данных, которые влияют на отображение UI. ref нужен для хранения мутабельных значений, которые должны сохраняться между рендерами, но не участвуют в отрисовке. React не отслеживает изменения ref.current.
Почему MobX сложнее дебажить
MobX сложнее дебажить из-за неявных зависимостей. Компоненты автоматически подписываются на observable-данные, и не всегда очевидно, что именно вызвало обновление. В отличие от Redux, где поток данных строго детерминирован, в MobX реактивность происходит “магически”. Это усложняет трассировку изменений.
Что произойдёт, если добавить новое свойство в объект после его инициализации во Vue?
Как корректно добавлять новые реактивные свойства в объект во Vue?
Рейтинг:
4
Сложность:
6
Если добавить новое свойство в объект после его инициализации, Vue не сделает его реактивным автоматически. Такое свойство не будет отслеживаться системой реактивности. В результате изменения этого свойства не вызовут обновление шаблона. Это связано с тем, как Vue перехватывает доступ к свойствам. Для корректной работы нужно использовать специальные методы.
Рейтинг:
4
Сложность:
6
Во Vue нельзя просто добавить новое свойство в объект и ожидать реактивности. Для этого используются специальные API. В Vue 2 применяется Vue.set или this.$set. В Vue 3 проблема решена за счёт Proxy, и новые свойства становятся реактивными автоматически. Выбор подхода зависит от версии Vue.
Рейтинг:
4
Сложность:
9
Рейтинг:
3
Сложность:
10
Рейтинг:
4
Сложность:
7
Рейтинг:
5
Сложность:
7
Рейтинг:
4
Сложность:
7