Собеседования
October 4, 2023
Вопросы для собеседования по React
Как работает React?
- Виртуальный DOM
- Реконселяция
- Фибер
- Батчинг
Что вызывает ре-рендер компонентов?
- Изменение
props
- Изменение
state
- Изменение
context
- Изменение зависимостей в хуках
- Изменение ключей
- forceUpdate()
- Ре-рендер родителей
Различие классовых и функциональных компонентов?
- Плюсы:
- Сложнее: this, контекст
- Тянут по прототипу лишние методы
- Можно добавлять/удалять методы
- Использование HOC (создание большой вложенности)
- Сложно анализировать объектно-ориентированный код
- Сложный лайф-сайкл
- Минусы
Хуки
Преимущества
Особенности useState
?
- Хук синхронный
- Нельзя мутировать
state
- Сеттер
useState
является асинхронным из-за батчинга
Разница между useEffect и useLayoutEffect?
- Синхронный
- Вызывается когда компонент появился в Virtual DOM, но еще не был отрисован
- По сути откладывает процесс отрисовки в браузере
Что такое useReducer?
Хук Дэна Абрамова для удобного перехода с redux
на чистый react
+ сontext API
Мемоизация в React
Архитектура
Подходы:
Стейт-менеджеры
Когда использовать внутренние и сторонние инструменты для работы с состоянием?
- Для работы с простым локальным состоянием компонента нужно использовать внутренние инструменты
useState
useReducer
useSelector
- Для описания сложной бизнес-логики, где требуются сложные взаимосвязи сущностей нужно использовать сторонние библиотеки
Redux
MobX
Effector
Redux
Что такое Redux?
- Фреймворк для создания бизнес-логики
- Создан на основе парадигмы
flux
- В основе паттерн Singleton
- Основные атомы:
Преимущества redux-toolkit
- Комплект удобных инструментов для решения типовых задач
- Автоматическая генерация
actions
- Встроенный
long polling
- Встроенная асинхронность
MobX
Оптимизация
Разница между React, Angular и Vue
React 18
October 4, 2023, 11:27
0 views
0 reactions
0 replies
0 reposts