1 Что такое React?
● React - JavaScript фронтенд библиотека, разработанная Facebook в 2011
● В ядре - компонентный подход, позволяющий создавать переиспользуемые UI
блоки
● Служит, для создания сложных интерактивных UI для web и мобильной
разработки
2 Какие основные преимущества есть в React?
● Увеличивает производительность отрисовки приложений
● Может использоваться и на клиенте и на сервере
● Из-за JSX читаемость кода увеличивается
● Легко интегрировать с другими фреймворками
● Легко писать unit тесты
3 Какие есть ограничения в React?
● React - всего лишь библиотека
● Требуется некоторое время на освоение
● Может быть немного сложным для начинающих
● Код по-началу может выглядеть сложным из-за инфраструктуры и JSX
4 Что такое JSX?
JSX - ярлык для JavaScript XML. Это специальный синтаксис, который расширяет
JavaScript возможностью писать HTML внутри
Это позволяет интегрировать шаблоны компонентов прямо в JavaScript, что делает
разработку проще
5 Что такое Virtual DOM в React?
Virtual DOM - легковесный JavaScript объект, который представляет копию реального
DOM дерева. Нужен для оптимизации взаимодействия с DOM
6 Что такое Props?
Сокращенно от Properties. Входящие свойства в компонент. Они только для чтения и
их нельзя менять. Всегда идут от родителя к ребенку.
7 Что такое state и как он используется?
Обычный объект - источник данных. Содержит информацию по поведению и
состоянию интерфейса. Можно мутировать
8 Что такое refs в React?
Сокращенно от References. Специальный атрибут, позволяющий получить доступ до
конкретного DOM элемента
Нужен для:
● Вызова анимаций
● Для задания фокуса или выделения текста
● Взаимодействия со сторонними библиотеками
9 Что такое JEST?
JavaScript фреймворк, для юнит тестирования на основе Jasmine. Разработал
Facebook. Очень удобен именно для React
10 Когда следует использовать Class компоненты, а когда
функциональные?
Если нужны жизненные этапы компонента - используем class компоненты
Иначе для оптимизации лучше функциональные
11 Что происходит, когда вы вызываете setState?
Вначале React соединяет объект стейта с измененными полями. На основе нового
состояния строит новое дерево React элементов и выясняет, какие именно части
приложения должны быть изменены
Это нужно для наиболее производительного обновления интерфейса
12 В чем разница между state и props?
state - структура данных, необходимая для изменения и отслеживания
пользовательских действий
props - набор конфигурации, поступающий от родительского элемента. Их нельзя
изменять
13 Когда следует делать асинхронные запросы на сервер в React?
Для этого служит метод componentDidMount
Или useEffect с пустым набором зависимостей
14 В чем смысл специального атрибута key?
Атрибут позволяет React понимать, какие именно элементы в списке были
модифицированы или удалены, что увеличивает производительность рендеринга.
Лучше всего использовать уникальные значения, такие как ID. Индексы использовать
не рекомендуется
15 Что значит компонент mounted?
Шаблон компонента соединен с DOM деревом
16 Назовите разницу между контролируемым и
неконтролируемым компонентом
● Контролируемый компонент обладает своим стейтом, управляемый React
● Неконтролируемые компоненты обладают внутренним стейтом (как пример
значение тега textarea)
17 Что такое фрагменты?
Специальный элемент в React позволяющий возвращать группу элементов без
дополнительного родительского DOM элемента
18 Как React обрабатывает пользовательские события?
Добавляет один обработчик события на корневой элемент.
Объект события оборачивает в свою обертку - SyntheticEvent для кроссбраузерности
19 Что такое Redux?
Библиотека для работы с потоком данных в JavaScript.
Позволяет добавить дополнительный слой для приложения, где состояние описано в
JavaScript объекте. Нужно для более удобного написания кода
20 Назовите основные этапы жизненного цикла компонента
● componentWillMount - перед рендерингом, в основном для настройки
компонента
● render - процесс рендеринга
● componentDidMount - уведомляет, про то, что компонент соединен с DOM
деревом
● componentWillReceiveProps - уведомляет, про то, что приходят новые
входящие свойства в компонент
● shouldComponentUpdate - возвращает true или false и служит для
оптимизации. Решает, нужно ли делать ре-рендеринг
● componentWillUpdate - уведомляет, что компонент будет обновлен
● componentDidUpdate - уведомляет, что компонент был обновлен
● componentWillUnmount - используется для удаления слушателей и очистки
компонента. Вызывается перед удалением компонента
21 В setState можно передавать объект или функцию. В чем
разница и что лучше использовать?
props и state могут изменяться асинхронно. Если мы передадим функцию, то мы
точно будет знать, что стейт основывается на предыдущем состоянии
22 Назовите разницу между Презентационным и Контейнер
компонентом?
● Презентационный - “как вещи выглядят”. Нужен для создания интерфейса.
Работает на входящих параметрах
● Контейнер - “как вещи работают”. Обладают состоянием, подключены к Flux или
Redux
23 Что такое Context?
Context - позволяет передавать свойства от родителя к ребенку, избегая
промежуточных компонентов
24 Что такое Higher-Order компоненты?
Higher-order component (HOC) - функции, у которых входящий параметр компонент.
Возвращают новый компонент с добавленным поведением.
Могут быть использованы в следующих случаях:
- Переиспользование кода
- Слой абстракции для state и взаимодействия с ним
- Управление props
25 Что делает shouldComponentUpdate и почему он важен?
Этап жизненного цикла, который решает, будет ли ре-рендер, или нет
Позволяет оптимизировать приложение
26 Что такое store в Redux?
JavaScript объект, в котором содержится состояние приложения. Дополнительно
отвечает за следующее:
- state может быть получен через getState()
- Изменять state можно через dispatch(action)
- Регистрировать изменения через subscribe(listener)
27 Что такое action в Redux?
Объект, который обязательно должен содержать ключ type. С помощью него Redux
понимает, что именно нужно сделать со стейтом
28 Что нельзя делать в методе render?
Нельзя изменять состояние компонента (например вызывать setState). Должен быть
чистой (pure) функцией
29 Какие типы middleware есть в redux для работы с
асинхронностью?
- Redux Thunk
- Redux Promise
- Redux Saga 30 Что такое Pure Components? Тоже самое, что и Component, кроме того, что автоматически за вас реализует метод shouldComponentUpdate.
Top comments (0)