Reactjs mapStateToProps必须返回一个对象。相反,接收到的是未定义的

Reactjs mapStateToProps必须返回一个对象。相反,接收到的是未定义的,reactjs,redux,phoenix-framework,react-redux,Reactjs,Redux,Phoenix Framework,React Redux,我在前端使用react with redux并调用elixir phoenix后端API。 一切似乎都正常,但我的javascript控制台中有这个错误 错误:MapStateTrops必须返回一个对象。相反,收到的是未定义的。 我已经实现了redux记录器,这是从他那里看到的对象 我看不出有什么不正确的地方,在行动之后,物体都是正确的。我可以在phoenix中看到,用户同时加入了套接字和通道 因为这个错误似乎在mapStateToProps附近,所以我最好看看那个代码 从“React”导入

我在前端使用react with redux并调用elixir phoenix后端API。 一切似乎都正常,但我的javascript控制台中有这个错误

错误:MapStateTrops必须返回一个对象。相反,收到的是未定义的。

我已经实现了redux记录器,这是从他那里看到的对象

我看不出有什么不正确的地方,在行动之后,物体都是正确的。我可以在phoenix中看到,用户同时加入了套接字和通道

因为这个错误似乎在
mapStateToProps
附近,所以我最好看看那个代码

从“React”导入React;
进口{
连接
}
来自“react redux”;
类AuthenticatedContainer扩展了React.Component{
componentDidMount(){
const{dispatch}=this.props;
}
render(){
const{currentUser,dispatch,socket}=this.props;
如果(!currentUser)返回false;
返回(
{ 这是道具 }
); } } 常量mapStateToProps=(状态)=>({ currentUser:state.session.currentUser, 套接字:state.session.socket, 频道:state.session.channel, }); 出口
默认连接(MapStateTops)(AuthenticatedContainer)我找到了导致我出现此问题的原因。 这个Redux调用完成后,代码继续运行,并将我重定向到另一个控制器。该控制器的视图和MapStateTops具有未定义的值。修正了这个错误,错误就消失了

但就我有限的Redux知识而言,我所看到的是错误的,因为从我所能看到的情况来看,记录器在“当前用户”操作中失败了。当它在“FETCH_MILESTONE”操作中实际失败时,witch将一个未定义的值映射到props。 我会做一些关于这个主题的阅读,如果有人读到这篇文章并且对实际发生的事情有很好的理解,我将不胜感激


可能的解决方案对于看到此问题的其他人,请检查对
MapStateTrops
的所有调用,并查看是否有任何值可能未定义。

是否定义了
state=initialState
中使用的
initialState
对象?是的,更新了会话缩减器以显示整个文件,很抱歉之前没有这么做。我不确定,但从上面的代码中,我只能建议尝试将
mapStateToProps=(state)=>({…})
重写为纯JS-
const-mapstatetops=function(state){return{…};}
尝试过,没有运气