Javascript React Redux,在分派函数时,“React Redux”;未捕获的TypeError不是一个函数;

Javascript React Redux,在分派函数时,“React Redux”;未捕获的TypeError不是一个函数;,javascript,reactjs,redux,redux-saga,Javascript,Reactjs,Redux,Redux Saga,我遇到了一个问题,当我想要分派一个动作时,fetchrewardbypromotecodeAction表示我想要分派的动作不是一个函数 在表单中,我使用事件handleeronSubmit然后使用handleSubmit。我注意到我的props没有定义,这导致我认为connect函数没有按预期工作。任何援助都会有帮助。这是密码 import React,{Component}来自'React'; 导入{连接 }来自“react redux”; 从“组件/promoCodeForm/PromoC

我遇到了一个问题,当我想要分派一个动作时,
fetchrewardbypromotecodeAction
表示我想要分派的动作不是一个函数

在表单中,我使用事件handleer
onSubmit
然后使用
handleSubmit
。我注意到我的
props
没有定义,这导致我认为connect函数没有按预期工作。任何援助都会有帮助。这是密码

import React,{Component}来自'React';
导入{连接
}来自“react redux”;
从“组件/promoCodeForm/PromoCodeInput”导入PromoCodeInput;
从'rewards/ducks'导入{fetchRewardByPromoCode,resetValidations};
从“按钮/按钮”导入按钮;
导出类AdminRewardPage扩展组件{
建造师(道具){
超级(道具);
此.state={
promoCodeText:“”,
};
}
onPromoCodeChange=(事件)=>{
这是我的国家({
promoCodeText:event.target.value,
});
const{resetValidationsAction}=this.props;
ResetValidationAction();
};
handleSubmit=(事件)=>{
event.preventDefault()
const{fetchRewardByPromoCodeAction}=this.props;
const{promoCodeText}=this.state;
fetchRewardByPromoCodeAction(promoCodeText);
}
render(){
const{promoCodeText}=this.state
返回(
管理员报酬页
)
}
}
const mapDispatchToProps=(调度)=>({
resetValidationsAction:()=>调度(resetValidations()),
fetchRewardByPromoCodeAction:(promoCodeText)=>dispatch(fetchRewardByPromoCode(promoCodeText)),
});

导出默认连接(null,mapDispatchToProps)(AdminRewardPage)
您试图在
mapDispatchToProps
范围内调用
fetchRewardByPromoCode
函数,但该函数(
fetchRewardByPromoCode
)既不在
mapDispatchToProps
范围内声明,也不在父范围内声明。也许你忘记导入了

答案更新:

请确保在使用组件时使用默认导出(未命名导出),因为命名导出是未连接到redux存储的表示组件。您必须使用连接到redux的容器组件,因此请确保按如下方式导入它:

import AdminRewardPage from '/somePath'
不是


我“我肯定会恰当地称呼它,并从顶部导入它。我在index.js中添加了clearity.OMG-wow导入,我使用的是命名导出。啊,愚蠢的错误。这让我烦了好几个小时!。谢谢@Bartek FryzowiczYou's welcome:)是的,我知道它是怎样的:D我很高兴能帮助你:)你能展示一下
fetchRewardByPromoCode
是如何定义的吗?是的,上面编辑了当你在构造函数中控制台.log(道具)时会发生什么?它向你展示了什么?不,我只是得到了很多东西。不知怎的,我的连接功能不起作用了<代码>{match:{…},位置:{…},历史:{…},staticContext:undefined}历史:{length:2,action:“POP”,位置:{…},createHref:ƒ,push:ƒ,}位置:{pathname:“/rewards”,搜索:,散列:,,状态:undefined}匹配:{path:“/rewards”,url:“/rewards”,isExact:true,参数:{…}staticContext:undefined\uuuuu proto\uuuuu:Object
import { AdminRewardPage } from '/somePath'