Управління станом та бібліотека Redux

Додано: 18 листопада
Предмет:
20 запитань
Запитання 1

Що вирішують стейт-менеджери в React?


варіанти відповідей

Збільшують складність коду

Зменшують ймовірність допущення помилок

Допомагають у керуванні даними при зростанні обсягу коду

Дозволяють автоматично перетворити класові компоненти на функціональні

Запитання 2

Яка основна мета Redux по відношенню до даних?


варіанти відповідей

Зберігати дані безпосередньо в компонентах

Утримувати дані окремо від компонентів у єдиному сховищі (Store)

Збільшувати кількість рендерів компонентів

Зменшувати кількість рендерів компонентів

Запитання 3

Що робить функція Dispatch в Redux?



варіанти відповідей

Відображає дані на екрані

Викликається з View/UI для оновлення даних у Store

Змінює дані у компоненті

Функція, що вміє оновлювати дані у Store

Запитання 4

Які поля має об'єкт action в Redux?


варіанти відповідей

StoreType та ActionName

Payload та ActionValue

ActionType та Payload

InitialValue та SetValue

Запитання 5

Що таке Action Creator в контексті Redux?


варіанти відповідей

Функція, що формує та повертає об'єкт Action

Функція, яка визначає тип дії

Об'єкт, що містить Action Type та Payload

Спеціальна бібліотека, що реалізує створення дій використання у reducer

Запитання 6

Чому корисно винести Action Type у константу?



варіанти відповідей

Для прискорення роботи коду

Для приховання типу дії

Для зручності та уникнення помилок при написанні

Тому що у Redux все має бути незмінним (immutable)

Запитання 7

Які параметри приймає Reducer в Redux?


варіанти відповідей

State та Action Type

Поточний Store та Action

Action та Payload

Початкове значення стану та Payload

Запитання 8

Чому Reducer не повинен змінювати поточний Store в Redux?



варіанти відповідей

Так як зміна Store може викликати помилку у React

Для спрощення коду

Так як Store в Redux є імутабельним

Зазвичай Redux має декілька екземплярів Store

Запитання 9

Чому case default в switch у Reducer є обов'язковим?



варіанти відповідей

Для додавання додаткових полів у Store

Так як Reducer має завжди повертати екземпляр Store, інакше буде помилка

Щоб зменшити шанси на колізії з іншими Reducers

Без цього не працює деструктуризація

Запитання 10

Які є основні принципи роботи зі Store та Reducer в Redux?


варіанти відповідей

Store повинен бути змінюваним та містити всю бізнес-логіку додатку.

Reducer повинен змінювати Store напряму, без використання Action.

Reducer - це чиста функція, яка приймає поточний стан Store та Action, і повертає новий стан.

Action приймає Reducer як функцію зворотного виклику (callback), яка серед аргументів має Store, який далі можна змінювати

Запитання 11

Що є основною функцією функції combineReducers в Redux?


варіанти відповідей

Збірка усіх Actions в один об'єкт

Створення екземпляра Store

Об'єднання усіх Reducers в один rootReducer

Реалізація декількох Reducer на основі спільного шаблону

Запитання 12

Чому ключі у об'єкті, що передається в combineReducers, є важливими в Redux?


варіанти відповідей

Для додавання додаткових полів у Store

Ключі вказують, як звертатися до різних Reducers у Store, наприклад, state.user.name

Для перевірки наявності Reducers в додатку

У функцію combineReducers не передаються ключі

Запитання 13

Чому не рекомендовано змінювати Store напряму в Redux?


варіанти відповідей

Це призводить до автоматичного видалення всіх даних у Store

Для збереження місця в пам'яті

Store в Redux є імутабельним, тобто його не слід змінювати напряму

Питання провокативне, Store дозволено змінювати напряму в Redux

Запитання 14

Як можна оновлювати дані в Store в Redux?


варіанти відповідей

Змінюючи значення в Store напряму

Використовуючи функцію modifyStore

Використовуючи Dispatch, Action та Reducer, які оновлюють значення у Store

Для доступу до потрібного значення необхідно вказати ключ, що був вказаний у combineReducers

Запитання 15

Яким чином можна підключити Redux до проекту в React?



варіанти відповідей

Використовуючи функцію connect з пакету 'redux-connect'

Використовуючи Provider та передаючи йому екземпляр Store

Імпортувати Store у компоненти де потрібні дані зі сховища

З використанням хуку useSelector повернути об'єкт сховища

Запитання 16

Чому використовують Provider в контексті Redux?


варіанти відповідей

Для надання стилів компонентам

Для забезпечення доступу до Store для всіх компонентів, розташованих всередині Provider

Для створення нового екземпляру Store

Він дозволя. підключити маршрутизацію у проєктах, що використовують Redux

Запитання 17

Як компоненти отримують доступ до Store після підключення Redux за допомогою Provider?

варіанти відповідей

Звертаючись до Store напряму, використовуючи window.store

Шляхом передачі Store як пропсу в кожен компонент

Автоматично через контекст Provider, безпосередньо в компонентах, розташованих всередині Provider

З використанням спеціального хука useStore

Запитання 18

Як визначається "props drilling" в контексті React?


варіанти відповідей

"Props drilling" - це процес витягування кореневого компонента, який містить необхідні пропси, і передача їх вниз через ієрархію компонентів для використання в дочірніх компонентах

"Props drilling" - це патерн у React, коли пропси передаються через кілька рівнів вкладених компонентів, навіть якщо деякі з цих компонентів не використовують ці пропси

"Props drilling" визначається як передача пропсів тільки між безпосередніми сусідніми компонентами в ієрархії React

"Props drilling" - спеціальна бібліотека, яка дозволяє передати пропси у дочірні компоненти, не вказуючи їх явно у тих компонентах, які їх не використовують

Запитання 19

Яка основна проблема з "props drilling" у React?


варіанти відповідей

Основна проблема полягає в тому, що "props drilling" зовсім не потрібний, і це лише розширює код без додаткової користі

Основна проблема з "props drilling" полягає в тому, що пропси передаються через кожен вкладений компонент, навіть якщо вони потрібні лише останньому компоненту на цьому шляху, що може вплинути на читабельність та підтримку коду

Основна проблема - в тому, що "props drilling" занадто простий і не надає достатньої гнучкості для обробки складних структур даних

Жодної проблеми немає, "props drilling" - це корисний механізм, без якого неможливо передати дані до дочірніх компонентів

Запитання 20

Які можливі рішення для уникнення проблеми "props drilling" в React?


варіанти відповідей

Використання контексту (context) в React

Використання бібліотек менеджерів стану (state management) для передачі даних (таких як Redux)

Обмеження зберігання стану у додатках на React, винесення операцій до зовнішнього API (з використанням серверних технологій та баз даних)

Застосування "props drilling" є єдиною прийнятною практикою, і інші рішення недоцільні

Створюйте онлайн-тести
для контролю знань і залучення учнів
до активної роботи у класі та вдома

Створити тест