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

53 lines
1.8 KiB
Markdown
Raw Normal View History

---
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>