javascript - 多个 Redux 中间件导致超出最大调用堆栈大小

标签 javascript reactjs redux

我得到了

Uncaught RangeError: Maximum call stack size exceeded
    at eval (index.js?4bd6:38)
    at Object.dispatch (applyMiddleware.js?6ce6:35)
    at dispatchChildActions (index.js?4bd6:33)
    at eval (index.js?4bd6:39)
    at Object.dispatch (applyMiddleware.js?6ce6:35)
    at dispatchChildActions (index.js?4bd6:33)
    at eval (index.js?4bd6:39)
    at Object.dispatch (applyMiddleware.js?6ce6:35)
    at dispatchChildActions (index.js?4bd6:33)

当我尝试将 redux-batched-actions 中间件添加到我的 applyMiddleware()

const store = createStore(
  enableBatching(appReducer), // added enableBatching
  composeWithDevTools(
    applyMiddleware(
      batchDispatchMiddleware, // and this
      sagaMiddleware,
      historyMiddleware,
    )
  )
)

怎么了?

最佳答案

我花时间为您浏览了源代码。这是一个包错误。我已经提交了 pull request .

先前的合并导致无限递归,其中重复分派(dispatch)非批处理操作。我还认为您应该根据您的用例只使用中间件或高阶 reducer ,请参阅自述文件以获得简短的解释。 请尝试修复并让我知道,因为我目前没有设置项目。

希望这能解决您的问题!

关于javascript - 多个 Redux 中间件导致超出最大调用堆栈大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49331978/

相关文章:

javascript - react JS : ability to detect switching tab in browser

javascript - 从选定的持续时间循环播放视频

javascript - React Hooks 和 Redux - 从 action creator 获取值(value)时遇到困难

javascript - 在 JSX 点击中传递数据的正确方法

reactjs - 我在react-native和redux中处理API调用的地方

javascript - 创建一个商店按钮来添加/删除数量和显示数量(非常基本)

javascript - 使用 onclick 函数加载 Bootstrap Modal

javascript - React - 无法获取 this.refs

javascript - 在 redux reducer 中更新状态的正确方法

javascript - 在 Redux thunk 中创建的数组未正确传递到状态树