<sectionid="description"> Теперь вы узнали все основные принципы Redux! Вы видели, как создавать действия и создателей действия, создавать хранилище Redux, отправлять ваши действия в хранилище и разрабатывать обновления состояния с помощью чистых редукторов. Вы даже видели, как управлять сложным состоянием с композицией редукторов и обрабатывать асинхронные действия. Эти примеры упрощены, но эти концепции являются основными принципами Redux. Если вы их хорошо понимаете, вы готовы приступить к созданию своего собственного приложения Redux. Следующие упражнения охватывают некоторые детали, касающиеся неизменности <code>state</code> , но сначала рассмотрим все, что вы изучили до сих пор. </section>
<sectionid="instructions">В этом уроке вы будете реализовывать простой счетчик с помощью Redux с нуля. Основы представлены в редакторе кода, но вам нужно будет заполнить детали! Используйте имена, которые предоставлены и опишите создателей действий <code>incAction</code> и <code>decAction</code> , редуктор <code>counterReducer()</code> , типы действий <code>INCREMENT</code> и <code>DECREMENT</code> , и, наконец, Redux хранилище <code>store</code> . После того, как вы закончите , вы должны смочь отправить действия <code>INCREMENT</code> или <code>DECREMENT</code> для увеличения или уменьшения состояния в хранилище <code>store</code> . Удачи в создании вашего первого приложения Redux! </section>
- text: Создатель действия <code>incAction</code> должен возвращать объект действия с<code>type</code> равным значению <code>INCREMENT</code>
testString: 'assert(incAction().type ===INCREMENT, "The action creator <code>incAction</code> should return an action object with <code>type</code> equal to the value of <code>INCREMENT</code>");'
- text: Создатель действия <code>decAction</code> должен возвращать объект действия с<code>type</code> равным значению <code>DECREMENT</code>
testString: 'assert(decAction().type === DECREMENT, "The action creator <code>decAction</code> should return an action object with <code>type</code> equal to the value of <code>DECREMENT</code>");'