gpt4 book ai didi

javascript - Redux 期望监听器能够正常工作

转载 作者:行者123 更新时间:2023-12-02 23:09:58 25 4
gpt4 key购买 nike

您好,我正在使用 redux,并且遇到了这个问题。我正在向 redux 的内置订阅方法添加一个监听器函数。

store.subscribe(historyManager(store.getState()));

我将状态传递给此监听器。

监听器本身看起来像这样:

const historyManager = function (state) {
// if(['channel', 'account', 'tab', 'main', 'ui.sub'].indexOf(changedVal)) return pushState();
// 'ui.piet' // wek
// 'ui.piet.klaas.jan' // niet
// if(['set', 'in', 'url'].indexOf(changedVal)) return replaceState();
// doe geen zak

console.log(state)

};

忽略评论,现在我只是担心记录我从订阅传递的状态。

在我的控制台中我收到错误:

redux.js:138 Uncaught Error: Expected the listener to be a function.

难道是因为我的函数没有return语句?

最佳答案

当您调用store.subscribe时,您将直接调用historyManager。这样您就可以将 undefined 传递给 store.subscribe,而不是回调。

您想要做的是将函数传递给订阅方法。

store.subscribe(historyManager)

然后 redux 本身将调用 historyManager。您可以通过从 historyManager 调用 store.getState() 来获取当前状态

const store = ...
const historyManager = function () {
const state = store.getState()
};

store.subscribe(historyManager);

关于javascript - Redux 期望监听器能够正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57413485/

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