58 lines
1.1 KiB
Markdown
58 lines
1.1 KiB
Markdown
---
|
||
id: 5a24c314108439a4d403614e
|
||
title: 定義一個 Action Creator
|
||
challengeType: 6
|
||
forumTopicId: 301441
|
||
dashedName: define-an-action-creator
|
||
---
|
||
|
||
# --description--
|
||
|
||
創建 action 後要將 action 發送到 Redux store,以便它可以更新其狀態。 在 Redux 中,可以定義動作創建器來完成此任務, action creator 只是一個返回動作的 JavaScript 函數。 換句話說,action creator 創建表示動作事件的對象。
|
||
|
||
# --instructions--
|
||
|
||
定義名爲 `actionCreator()` 的函數,該函數在調用時返回 `action` 對象。
|
||
|
||
# --hints--
|
||
|
||
函數 `actionCreator` 應該存在。
|
||
|
||
```js
|
||
assert(typeof actionCreator === 'function');
|
||
```
|
||
|
||
運行 `actionCreator` 函數應返回 `action` 對象。
|
||
|
||
```js
|
||
assert(typeof action === 'object');
|
||
```
|
||
|
||
返回的 `action` 對象應該有一個值爲 `LOGIN` 的 `type` 屬性。
|
||
|
||
```js
|
||
assert(action.type === 'LOGIN');
|
||
```
|
||
|
||
# --seed--
|
||
|
||
## --seed-contents--
|
||
|
||
```js
|
||
const action = {
|
||
type: 'LOGIN'
|
||
}
|
||
// Define an action creator here:
|
||
```
|
||
|
||
# --solutions--
|
||
|
||
```js
|
||
const action = {
|
||
type: 'LOGIN'
|
||
}
|
||
const actionCreator = () => {
|
||
return action;
|
||
};
|
||
```
|