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

React调用props.createEntity报is not a function错误如何解决?

问题根因

从你打印的props内容可以看到,只有react-router注入的history/location/match三个属性,没有任何connect注入的dispatch相关属性,说明你当前使用的组件是未经过connect高阶函数包裹的原始组件。

解决方案
  • 优先检查组件导入方式
    你在代码中同时做了两个导出:
  1. 命名导出:export const RealmUserUpdate(未经过connect处理的原始组件,没有注入createEntity方法)
  2. 默认导出:export default connect(...)(经过connect处理,会自动注入createEntity方法)
    如果你在引用该组件的文件中使用的是命名导入:
import { RealmUserUpdate } from './RealmUserUpdate'

请修改为默认导入即可解决问题:

import RealmUserUpdate from './RealmUserUpdate'
  • 辅助排查项
    如果修改导入方式后仍报错,可检查两个配置:
  1. 确认redux store配置中已经注册了redux-thunk中间件,你定义的createEntity是thunk风格的action creator,必须配合thunk中间件才能正常工作
  2. 确认没有在组件内部其他位置意外覆盖了props.createEntity属性
额外注意点

你定义的useLocation泛型LocationState是{userId: number | string},但实际打印的location.state是直接的数字类型,后续构造实体时如果需要兼容类型,建议调整为const location = useLocation<number | string>(),避免类型报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:57:03