所有,
我刚开始学习阵营FLUX与Facebook TODO例如 这里
TODO Store中有一个名为dispatcherIndex的字段,我想知道该字段用于什么?
谢谢
将dispatcherIndex永远不会被调用,你通常会从一个函数,即预期,TodoStore.dispatcherIndex().
但由于值dispatcherIndex是一个函数调用(不只是一个函数,而是一个函数调用),该函数调用发生在对象的初始化中.因此,当TodoStore初始化时,运行此代码(函数调用):
AppDispatcher.register(function(payload) {
var action = payload.action;
var text;
switch(action.actionType) {
case TodoConstants.TODO_CREATE:
text = action.text.trim();
if (text !== '') {
create(text);
TodoStore.emitChange();
}
break;
case TodoConstants.TODO_DESTROY:
destroy(action.id);
TodoStore.emitChange();
break;
// add more cases for other actionTypes, like TODO_UPDATE, etc.
}
return true; // No errors. Needed by promise in Dispatcher.
})
Run Code Online (Sandbox Code Playgroud)
你正在调用AppDispatcher.register并传递一个回调函数.你传递的这个回调现在没有执行,它被注册(添加到_callbacks数组中)以便稍后调用,只要你调用其中一个调用的方法AppDispatcher.handleViewAction,即TodoActions.create和TodoActions.destroy.
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |