gpt4 book ai didi

javascript - 为什么Redux.js在init上多次启动reducer函数?

转载 作者:行者123 更新时间:2023-12-03 13:02:35 25 4
gpt4 key购买 nike

学习 Redux.js 并构建演示应用程序。

我有一个像这样的 reducer :

// 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函数以默认的action.type启动了3次。 “@@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,第二次是实际的init:https://github.com/reactjs/redux/issues/382

正如 TenorB 在问题评论中指出的那样,@@redux/PROBE_UNKNOWN_ACTION 也是出于测试目的而启动的。

所以,毕竟,这些事件并不是偶然发起的。

关于javascript - 为什么Redux.js在init上多次启动reducer函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33367955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com