Reactjs React-Redux类型错误:this.props不是函数

Reactjs React-Redux类型错误:this.props不是函数,reactjs,react-redux,react-router,jhipster,react-props,Reactjs,React Redux,React Router,Jhipster,React Props,我一直在为这件事烦恼,非常感谢你的帮助 我得到以下错误: TypeError:this.props.getAgencies不是函数 这是从组件(componentDidMount)中的This.props.getAgencies()调用生成的 代码如下所示 资本项目搜索.tsx 从“React”导入React; 从'react redux'导入{connect}; 从'react router dom'导入{RouteComponentProps}; 从“./capital project s

我一直在为这件事烦恼,非常感谢你的帮助

我得到以下错误:

TypeError:this.props.getAgencies不是函数

这是从组件(componentDidMount)中的This.props.getAgencies()调用生成的

代码如下所示

资本项目搜索.tsx

从“React”导入React;
从'react redux'导入{connect};
从'react router dom'导入{RouteComponentProps};
从“./capital project search.reducer”导入{getagents};
导出接口ICapitalProjectSearchProps扩展DispatchProps、RouteComponentProps{}
导出类型ICapitalProjectSearchState={
}
导出类CapitalProjectSearch扩展React.Component{
状态:ICapitalProjectSearchState={
};
建造师(道具){
超级(道具);
}
componentDidMount(){
this.props.getAgencies();
};
componentWillUnmount():void{
}
render(){
返回(
试验

); } } const mapDispatchToProps={ 旅行社 }; 类型DispatchProps=地图DispatchToProps的类型; 导出默认连接( 无效的 mapDispatchToProps )(资本项目搜索)您的代码:

const mapDispatchToProps = {
  getAgencies
};
应该是

const mapDispatchToProps =()=> {
  return {getAgencies:getAgencies}
};
这可能是因为函数的ES6语法错误

const mapDispatchToProps = {
  getAgencies
};
将返回对象括在括号中

const mapDispatchToProps = () => ({
  getAgencies
});
所以我改变了

import {CapitalProjectSearch} from "app/entities/primecpmsa/capital-project/capital-project-search";


成功了。

谢谢您的回复。我尝试了以下操作,但不幸地得到了相同的错误:const-mapDispatchToProps=()=>{return{getAgencies};注意,我在TypeScript编译器抱怨时使用了属性速记符号。谢谢-不幸的是,我在这段代码中遇到了相同的错误。IntelliJ还报告了一个错误:TS2339:类型“Readonly&Readonly”上不存在属性“getAgencies”。
import CapitalProjectSearch from "app/entities/primecpmsa/capital-project/capital-project-search";