---
id: 5a24c314108439a4d403614b
title: Створення сховища Redux
challengeType: 6
forumTopicId: 301439
dashedName: 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`. Якщо ви не знайомі з аргументами за замовчуванням, ви можете дізнатися більше у <a href="https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/es6/set-default-parameters-for-your-functions" target="_blank" rel="noopener noreferrer nofollow">розділі навчальної програми ES6</a>, що охоплює цю тему.

# --hints--

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

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

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

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

# --seed--

## --seed-contents--

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

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

# --solutions--

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

const store = Redux.createStore(reducer);
```
