【问题标题】:Error when using Redux toolkit's isAnyOf - TypeError: matcher is not a function使用 Redux 工具包的 isAnyOf 时出错 - TypeError: matcher is not a function
【发布时间】:2022-07-02 10:15:51
【问题描述】:

我正在 Redux Toolkit 中试用 Matching Utilities,当我使用 isAnyOf 时出现此错误。

我正在使用 React 和 Redux。

我的代码是:

import { createSlice, createAsyncThunk, isAnyOf } from '@reduxjs/toolkit'
builder
      .addMatcher(
        isAnyOf(getAllData.fulfilled, addQuestion.fulfilled, getQuestion.fullfilled, updateQuestion.fulfilled),
        (state) => {
          state.connectionError = null
        }
      )

依赖版本:

“反应”:“^17.0.2”, "react-redux": "^7.2.0", "redux": "^4.0.5", "@reduxjs/toolkit": "^1.2.5"

您认为这可能与依赖版本有关吗?

我尝试改用isAllOf,它没有显示任何错误,但我需要使用isAnyOf

感谢任何提示。谢谢。

【问题讨论】:

  • @reduxjs/toolkit的版本是多少
  • @slideshowp2 它是 ^1.2.5。我将其包含在问题中。

标签: redux redux-toolkit


【解决方案1】:

所以我也遇到了这个错误。经过一番故障排除后,我意识到如果您传递给 isAnyOf 函数的任何参数不是函数,则可能会产生错误。在我的例子中,我传递了 redux 工具包 reducer 中定义的操作和 createAsyncThunk 定义的操作的混合。我不小心把 .fulfill 放在了减速器操作之一的末尾,这就是导致错误的原因。

【讨论】:

    猜你喜欢
    • 2018-11-16
    • 1970-01-01
    • 2021-10-02
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    相关资源
    最近更新 更多