You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调用redux-thunk的dispatch,解决useDispatch调用时报dispatch不是函数的错误

问题解决方法

你的错误核心是useDispatch Hook的导入来源错误:

  • useDispatch是react-redux提供的能力,不是React内置的Hook,你当前代码从react包导入该API,导致获取到的不是真正的dispatch方法,调用时就会抛出TypeError: dispatch is not a function报错。

具体修改步骤

  1. 修改Comments.js文件的导入语句:
    原代码:
import React, { useEffect, useDispatch } from "react";

修改为:

import React, { useEffect } from "react";
import { useDispatch } from "react-redux";
  1. 可选检查项:确认你的react-redux版本不低于7.1.0,该版本才正式支持useSelector、useDispatch这类Redux Hooks API,如果版本过低可以执行命令升级:
    npm install react-redux@latest
    或者
    yarn add react-redux@latest
  2. 额外确认:你定义的fetchCommentSuccess、fetchCommentFailure两个action已经在对应文件中声明导出,不会出现未定义的报错。

修改完成后重新运行项目即可正常触发异步action。

内容的提问来源于stack exchange,提问作者Jay0813

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 12:27:08