wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Frontend_react_quiz

Total questions: 39

Worksheet time: 49mins

Name
Class
Date
1.

Как использовать useState для установки начального значения состояния?

a)

const [state, setState] = useState(initialState);

b)

const state = useState(initialState);

c)

setState(initialState);

d)

const state = initialState;

2.

Что происходит при вызове функции setState в компоненте с использованием useState?

a)

Значение состояния изменяется немедленно и компонент перерисовывается.

b)

Значение состояния изменяется немедленно, но компонент перерисовывается позже.

c)

Значение состояния изменяется после следующего рендеринга компонента.

d)

Ничего не происходит, если новое значение состояния равно старому.

3.

Как обновить состояние, используя предыдущее значение состояния?

a)

setState(prevState => prevState + 1);

b)

setState(state + 1);

c)

setState(() => prevState + 1);

d)

setState(prevState => state + 1);

4.

Что происходит при обновлении состояния с помощью функции setState?

a)

Происходит синхронное обновление состояния и рендер компонента

b)

Состояние обновляется, но компонент не перерендеривается

c)

Значение состояния ставится в очередь для обновления, и компонент ставится в очередь для повторного рендеринга

d)

Ничего не происходит

5.

Может ли функция setState принимать асинхронные функции?

a)

Да, только асинхронные функции

b)

Нет, только синхронные функции

c)

Да, и синхронные, и асинхронные функции

d)

Нет, функция setState не принимает функции вообще

6.

Когда вызывается функция, переданная в useEffect?

a)

Во время рендеринга компонента

b)

После монтирования компонента

c)

Перед монтированием компонента

d)

При обновлении состояния компонента

7.

Как можно контролировать вызов эффекта в зависимости от изменения значений при использовании хука useEffect?

a)

Использовать условные конструкции внутри эффекта

b)

Передать вторым аргументом массив зависимостей

c)

Передать массив зависимостей в качестве первого аргумента

d)

Использовать контекст для управления вызовом эффекта

8.

Каким образом можно выполнить очистку в useEffect?

a)

Вернуть функцию, которая выполнит очистку

b)

Вернуть функцию, которая выполнит очистку

c)

Вызвать функцию useRef с пустым объектом

d)

Использовать отдельный хук useCleanup

9.

Что произойдет, если передать пустой массив зависимостей в useEffect?

a)

Эффект вызовется при монтировании и размонтировании компонента

b)

Эффект не будет вызываться

c)

Эффект будет вызываться при каждом рендере компонента

d)

Эффект будет вызываться только при монтировании компонента

10.

Как использовать useEffect для обновления заголовка страницы в зависимости от значения переменной title?

a)

useEffect(() => { document.title = title; });

b)

useEffect(() => { setTitle(title); }, [title]);

c)

useEffect(title => { document.title = title; }, []);

d)

useEffect(() => { document.title = title; }, [title]);

11.

Что такое State менеджер?

a)

Библиотека для управления состоянием компонентов

b)

Инструмент для отслеживания изменений состояния компонентов

c)

Серверное решение для хранения состояний компонентов

d)

Расширение для браузера, которое помогает управлять состоянием компонентов

12.

В чем основная причина использования State менеджера, такого как Redux?

a)

Ускорение работы приложения

b)

Упрощение структуры компонентов

c)

Централизация управления состоянием и облегчение работы с данными

d)

Создание модульной архитектуры приложения

13.

Какой основной принцип работы Redux?

a)

Двунаправленный поток данных

b)

Модульная архитектура

c)

Однонаправленный поток данных

d)

Иерархическое хранение состояния

14.

Какие основные компоненты составляют Redux?

a)

Store, Reducers, Actions, Selectors

b)

Store, Reducers, Actions, Middleware

c)

Store, Reducers, Actions, Components

d)

Store, Reducers, Actions, Dispatchers

15.

Как обновить данные в Redux?

a)

Изменить состояние напрямую в хранилище

b)

Вызвать функцию setState() из компонента

c)

Отправить действие (action) и обработать его в редьюсере

d)

Использовать хук useEffect для обновления состояния

16.

Как обработать действие в редьюсере, если тип действия "SET_PAGE"?

a)

state.page = action.page;

b)

return { ...state, page: action.page };

c)

state = { ...state, page: action.page };

d)

return Object.assign({}, state, { page: action.page });

17.

Каким образом в компоненте React можно вызвать функцию dispatch?

a)

Используя хук useDispatch из библиотеки react-redux

b)

Используя хук useState и передав функцию dispatch

c)

Вызывая функцию dispatch напрямую из компонента

d)

Используя функцию connect из библиотеки react-redux

18.

Вопрос 1: Что такое useMemo и для чего он используется?

a)

Хук для оптимизации рендеринга компонента при изменении состояния

b)

Хук для мемоизации результатов вычислений

c)

Хук для контроля вызова побочных эффектов

d)

Хук для управления состоянием компонента

19.

Как правильно использовать useMemo для мемоизации результата функции expensiveCalculation?

a)

useMemo(() => expensiveCalculation, [value]);

b)

useMemo(expensiveCalculation(value), [value]);

c)

useMemo(() => expensiveCalculation(value), [value]);

20.

Что произойдет, если не передать массив зависимостей useMemo?

a)

Результат будет пересчитываться при каждом рендере компонента

b)

Результат будет пересчитываться только при изменении значения value

c)

Результат никогда не будет пересчитываться

d)

useMemo вызовет ошибку

21.

Как использовать useMemo для оптимизации рендеринга списка элементов?

a)

const data = useMemo(items.map((item) => <ListItem key={item.id} {...item} />), [items]);

b)

const data = useMemo(() => items.map((item) => <ListItem key={item.id} {...item} />));

c)

const data = useMemo(() => items.map((item) => <ListItem key={item.id} {...item} />), [items]);

22.

Что будет, если useMemo используется без функции обратного вызова?

const result = useMemo(value);

a)

Результат будет мемоизирован

b)

useMemo будет игнорировать аргумент и вызываться при каждом рендере

c)

useMemo вызовет ошибку

d)

Результат будет пересчитываться при каждом рендере компонента

23.

В каком случае следует использовать useCallback вместе с useContext?

a)

Если нужно передать колбэк, зависящий от контекста, оптимизированному дочернему компоненту

b)

Если нужно передать колбэк для изменения значения контекста

c)

Если нужно мемоизировать результат вычисления, зависящий от контекста

d)

Если нужно определить функцию, которая вызывается при изменении контекста

24.

Как использовать хук useContext для получения значения из контекста ThemeContext?

const theme = useContext(ThemeContext);

a)

const theme = ThemeContext(useContext);

b)

const theme = useContext(ThemeContext);

c)

const theme = useContext(() => ThemeContext);

d)

const [theme] = useContext(ThemeContext);

25.

Для чего используется хук useContext?

a)

Для мемоизации колбэков, которые изменяются только при изменении зависимостей

b)

Для передачи данных между компонентами без явного использования пропсов

c)

Для определения функций, которые вызываются при изменении состояния компонента

d)

Для мемоизации результатов вычислений

26.

Как правильно использовать useCallback для мемоизации обработчика событий handleClick?

a)

const memoizedHandleClick = useCallback(() => handleClick(someValue), [someValue]);

b)

const memoizedHandleClick = useCallback(() => handleClick, [someValue])

c)

const memoizedHandleClick = useCallback(handleClick(someValue), [someValue]);

27.

Для чего используется хук useCallback?

a)

Для мемоизации результатов вычислений

b)

Для передачи данных между компонентами без явного использования пропсов

c)

Для определения функций, которые вызываются при изменении состояния компонента

d)

Для мемоизации колбэков, которые изменяются только при изменении зависимостей

28.

Что такое Reconciliation (Согласование) в React?

a)

Процесс отрисовки компонентов на странице

b)

Алгоритм для определения изменений между двумя деревьями элементов

c)

Процесс передачи данных между компонентами

d)

Технология, используемая для оптимизации работы с DOM

29.

Какую роль играет Reconciliation в работе с Virtual DOM?

a)

Оптимизирует процесс работы с DOM, просчитывая только необходимые изменения

b)

Создает копию реального DOM для ускорения работы с элементами

c)

Отвечает за отрисовку компонентов в браузере

d)

Сохраняет состояние компонентов при изменении дерева элементов

30.

Как Reconciliation работает с обновлением состояния приложения?

a)

Обновляет только те компоненты, которые имеют изменения в своих пропсах

b)

Изменяет состояние компонентов напрямую, минуя Virtual DOM

c)

Сбрасывает все состояния компонентов и заново инициализирует их

d)

Создает новое дерево элементов и сравнивает его с предыдущим деревом, чтобы определить необходимые изменения

31.

Что происходит при вызове setState в React приложении?

a)

Новое дерево элементов генерируется и сравнивается с предыдущим деревом для определения необходимых изменений

b)

Все компоненты в приложении перерисовываются без учета изменений

c)

Компоненты с измененным состоянием удаляются из DOM и создаются заново

d)

Все компоненты с измененным состоянием мгновенно обновляются в реальном DOM

32.

Как React оптимизирует процесс сравнения деревьев элементов при Reconciliation?

a)

Сравнивает только компоненты с измененными пропсами

b)

Использует ключи (keys) для быстрого сравнения компонентов одного уровня

c)

Использует хеш-функции для определения необходимости обновления компонентов

d)

Опирается на глубокое сравнение всех элементов деревьев

33.

В чем состоит основная функция ключей (key) в списках React и почему они важны?

a)

Ключи определяют порядок элементов в списке и контролируют их отображение

b)

Ключи позволяют React оптимизировать обработку событий, связанных с элементами списка

c)

Ключи помогают React определить измененные, добавленные или удаленные элементы списка для оптимизации процесса Reconciliation

d)

Ключи используются для связывания данных с элементами списка и обеспечения их обновления

34.

Как правильно выполнить условный рендеринг в React компоненте?

Рассмотрите пример кода на изображении:

a)

Использовать оператор if-else внутри JSX

b)

Использовать тернарный оператор внутри JSX

c)

Использовать оператор switch внутри JSX

d)

Создать отдельные компоненты для каждого условия и рендерить их в зависимости от условия

35.

Как использовать хук useEffect для отслеживания изменения поля объекта в функциональном компоненте?

a)

Использовать useEffect с массивом зависимостей, содержащим только объект user

b)

Использовать useEffect с пустым массивом зависимостей, чтобы отслеживать изменения только при монтировании компонента

c)

Использовать useEffect с массивом зависимостей, содержащим поле user.name

d)

Использовать useEffect без массива зависимостей, чтобы отслеживать изменения при каждом рендере компонента

36.

Как получить доступ к DOM-элементу в React компоненте?

a)

Создать ссылку с помощью React.createRef() и использовать её в качестве значения атрибута ref

b)

Создать ссылку с помощью хука useRef() и использовать её в качестве значения атрибута ref

c)

Использовать атрибут id для каждого DOM-элемента и обращаться к нему с помощью document.getElementById()

37.

Какой метод жизненного цикла вызывается сразу после того, как компонент вставлен в DOM?

a)

componentDidMount

b)

componentDidUpdate

c)

componentWillMount

d)

componentWillUnmount

38.

Какой метод жизненного цикла вызывается перед обновлением компонента в результате изменения состояния или получения новых пропсов?

a)

shouldComponentUpdate

b)

componentWillUpdate

c)

componentDidUpdate

d)

componentDidMount

39.

В каком методе жизненного цикла рекомендуется выполнять запросы к API и другие асинхронные операции?

a)

componentWillMount

b)

componentWillUpdate

c)

componentDidMount

d)

componentDidUpdate