freeCodeCamp/curriculum/challenges/chinese/03-front-end-libraries/redux/define-a-redux-action.chine...

53 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
id: 5a24c314108439a4d403614d
title: Define a Redux Action
challengeType: 6
isRequired: false
videoUrl: ''
localeTitle: 定义Redux动作
---
## Description
<section id="description">由于Redux是一个状态管理框架因此更新状态是其核心任务之一。在Redux中所有状态更新都由调度操作触发。操作只是一个JavaScript对象其中包含有关已发生的操作事件的信息。 Redux存储接收这些操作对象然后相应地更新其状态。有时Redux操作也会携带一些数据。例如操作在用户登录后携带用户名。虽然数据是可选的但操作必须带有<code>type</code>属性该属性指定发生的操作的“类型”。将Redux操作视为信使将有关应用程序中发生的事件的信息提供给Redux商店。然后商店根据发生的操作开展更新状态的业务。 </section>
## Instructions
<section id="instructions">编写Redux操作就像声明具有type属性的对象一样简单。声明一个对象<code>action</code>并为其设置一个属性<code>type</code>设置为字符串<code>&#39;LOGIN&#39;</code></section>
## Tests
<section id='tests'>
```yml
tests:
- text: 应该存在一个操作对象。
testString: 'assert((function() { return typeof action === "object" })(), "An action object should exist.");'
- text: 该操作应具有值为<code>LOGIN</code>的键属性类型。
testString: 'assert((function() { return action.type === "LOGIN" })(), "The action should have a key property type with value <code>LOGIN</code>.");'
```
</section>
## Challenge Seed
<section id='challengeSeed'>
<div id='jsx-seed'>
```jsx
// Define an action here:
```
</div>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>