为什么 Redux.js 在 init 上多次启动 reducer 函数?
Why Redux.js launches reducer function multiple times on init?
学习 Redux.js 并构建演示应用程序。
我有一个像这样的减速器:
// Imports here
function blocksFunc(state = [], action) {
switch (action.type) {
case 'ADD_BLOCK':
_id++;
return [...state, {'_class' : 'basic', '_id' : _id }];
default:
state = [];
return state;
}
}
const BlockGeneratorReducer = combineReducers({
blocksFunc,
});
export default BlockGeneratorReducer;
我成功更新了状态,但是在登录时我在页面加载时得到以下信息:
blocksFunc() type: "@@redux/INIT"
blocksFunc() type:
"@@redux/PROBE_UNKNOWN_ACTION_b.f.4.q.y.o.a.v.2.t.9"
blocksFunc() type: "@@redux/INIT"
所以 blocksFunc 函数默认启动了 3 次 action.type。 “@@redux/INIT”动作类型在什么情况下启动? “@@redux/PROBE_UNKNOWN_ACTIOM”指的是什么?
可以在 git 上找到完整的源代码:https://github.com/JaakkoKarhu/redux-react-blockgenerator
工作演示已上传到我的服务器:http://jaakkokarhu.com/playground/redux-block-generator/
由于是 React 和 Redux 的新手,也非常欢迎所有其他关于源的评论。
编辑:
blocksFunc() 根据 DavidWalshes 的建议编辑。
@@redux/INIT 故意启动了两次。第一次是测试 combineReducers,第二次是实际初始化:https://github.com/reactjs/redux/issues/382
正如 TenorB 在问题评论中指出的那样,@@redux/PROBE_UNKNOWN_ACTION 也已启动以进行测试。
所以,这些活动毕竟不是偶然发起的。
学习 Redux.js 并构建演示应用程序。
我有一个像这样的减速器:
// Imports here
function blocksFunc(state = [], action) {
switch (action.type) {
case 'ADD_BLOCK':
_id++;
return [...state, {'_class' : 'basic', '_id' : _id }];
default:
state = [];
return state;
}
}
const BlockGeneratorReducer = combineReducers({
blocksFunc,
});
export default BlockGeneratorReducer;
我成功更新了状态,但是在登录时我在页面加载时得到以下信息:
blocksFunc() type: "@@redux/INIT"
blocksFunc() type: "@@redux/PROBE_UNKNOWN_ACTION_b.f.4.q.y.o.a.v.2.t.9"
blocksFunc() type: "@@redux/INIT"
所以 blocksFunc 函数默认启动了 3 次 action.type。 “@@redux/INIT”动作类型在什么情况下启动? “@@redux/PROBE_UNKNOWN_ACTIOM”指的是什么?
可以在 git 上找到完整的源代码:https://github.com/JaakkoKarhu/redux-react-blockgenerator
工作演示已上传到我的服务器:http://jaakkokarhu.com/playground/redux-block-generator/
由于是 React 和 Redux 的新手,也非常欢迎所有其他关于源的评论。
编辑:
blocksFunc() 根据 DavidWalshes 的建议编辑。
@@redux/INIT 故意启动了两次。第一次是测试 combineReducers,第二次是实际初始化:https://github.com/reactjs/redux/issues/382
正如 TenorB 在问题评论中指出的那样,@@redux/PROBE_UNKNOWN_ACTION 也已启动以进行测试。
所以,这些活动毕竟不是偶然发起的。