freeCodeCamp/curriculum/challenges/ukrainian/03-front-end-development-li.../redux/create-a-redux-store.md

3.7 KiB
Raw Blame History

id title challengeType forumTopicId dashedName
5a24c314108439a4d403614b Створення сховища Redux 6 301439 create-a-redux-store

--description--

Redux - це фреймворк керування станами, який може використовуватися з низкою різних веб-технологій, включно із React.

У Redux є єдиний об'єкт стану, який відповідає за стан усього вашого застосунку. Це означає, що якщо б у вас був застосунок на React з десятьма компонентами, і кожен компонент мав би власний внутрішній стан, то увесь стан вашого застосунку визначався б по єдиному об'єкту стану, розміщеному на Redux store (сховищі). Це і є перший важливий принцип, який слід зрозуміти під час вивчення Redux: сховище Redux - це єдине джерело достовірних даних, коли йдеться про стан застосунку.

Це також означає, що, якщо у будь-який час, будь-яка частина вашого застосунку забажає оновити стан, то вона має зробити це через сховище Redux. Односпрямований потік даних дозволяє значно легше відстежувати управління станом у вашому застосунку.

--instructions--

Redux store (сховище) - це об'єкт, який містить та скеровує state (стан) застосунку. Цей метод має назву createStore() на об'єкті Redux, який ви використовуєте, щоб створити store (сховище) Redux. Цей метод використовує функцію reducer як необхідний аргумент. Функція reducer розкривається в наступних завданнях та вже визначена для вас в редакторі коду. Вона просто бере state як аргумент та повертає state.

Вкажіть store змінною та призначте її методу createStore(), передавши у reducer як аргумент.

Примітка: код в редакторі за замовчуванням використовує синтаксис аргументів ES6 для ініціалізаціїї цього стану для утримання значення 5. Якщо ви не знайомі з аргументами за замовчуванням, ви можете дізнатися більше у розділі навчальної програми ES6, що охоплює цю тему.

--hints--

Повинно існувати сховище Redux.

assert(typeof store.getState === 'function');

Сховище Redux повинно мати значення 5 для стану.

assert(store.getState() === 5);

--seed--

--seed-contents--

const reducer = (state = 5) => {
  return state;
}

// Redux methods are available from a Redux object
// For example: Redux.createStore()
// Define the store here:

--solutions--

const reducer = (state = 5) => {
  return state;
}

const store = Redux.createStore(reducer);