我正在关注https://github.com/facebook/flux/tree/master/examples/flux-todomvc
的第一个Flux教程我对'TodoActionTypes.js'文件实际上做了什么感到有点困惑。
如果对我要问的内容不清楚,请告诉我,我会尽力清理。
我将尝试使用AppView的onToggleTodo道具进行解释:
<AppView /> renders <Main /> which has props.onToggleTodo which is triggered on onChange.
因此,onChange会触发TodoActions.toggleTodo。
从TodoActions中,触发toggleTodo,并将带有type和id的操作分派给商店
toggleTodo(id) {
TodoDispatcher.dispatch({
type: TodoActionTypes.TOGGLE_TODO,
id,
});
},
在TodoActionTypes.js中,有:
const ActionTypes = {
...
TOGGLE_TODO: 'TOGGLE_TODO',
};
在TodoStore.js中,有一个
switch (action.type){
case TodoActionTypes.TOGGLE_TODO:
我的问题是为什么有必要这样做,而不仅仅是在任何地方开始使用'TOGGLE_TODO'?
答案 0 :(得分:2)
与使用文字字符串相比,此模式提供了许多好处:
undefined
代替一个非常相似的值,你的眼睛可能会自动认为是正确的。TodoActionTypes
列表。TodoActionTypes
(例如使用for..in
循环)的功能。