type
之外的任何信息。你还可以发送特定数据和 action 一起。事实上,这是非常常见的,因为 action 通常源于一些用户交互,并且往往会携带一些数据,Redux store 经常需要知道这些数据。
notesReducer()
和addNoteText()
action creator。完成addNoteText()
函数的主体,这样它就会返回一个action
对象。该对象应该包含一个type
属性,其值为ADD_NOTE
,还有一个text
属性通过 action creator 将值设置为note
。当你调用 action creator 时,你需要传入可以访问该对象的特定注释信息。
接下来,完成在notesReducer()
中编写的switch
语句。你需要添加一个处理addNoteText()
操作的选项。只要存在ADD_NOTE
类型的 action,就应该触发 case,并且它应该在传入的action
上返回text
属性作为新的state
这个 action 将在代码底部发送。一旦完成后,运行代码并观察控制台。这就是将特定于 action 的数据发送到 store 并在更新 store state
时使用它所需的全部内容。
addNoteText
应该返回一个包含type
和text
的对象。
testString: assert((function() { const addNoteFn = addNoteText('__TEST__NOTE'); return addNoteFn.type === ADD_NOTE && addNoteFn.text === '__TEST__NOTE' })());
- text: dispatch 一个 action creator 是addNoteText
的actionADD_NOTE
,应将state
更新为 action creator 传递的字符串。
testString: assert((function() { const initialState = store.getState(); store.dispatch(addNoteText('__TEST__NOTE')); const newState = store.getState(); return initialState !== newState && newState === '__TEST__NOTE' })());
```