React/Redux问题:无法将Store值传入组件Props(mapStateToProps)
问题分析与解决办法
嘿,问题其实一眼就能看出来——你在mapStateToProps里的映射键名和组件接收的props名称不匹配!
看你的代码细节:
- Accueil组件明确声明要接收
{ isConnected }这个props - 但在
mapStateToProps里,你把state.user.isConnected映射成了counter这个键:const mapStateToProps = (state) => ({ counter: state.user.isConnected, // 这里键名是counter,不是组件期望的isConnected });
这就导致组件里的isConnected始终找不到对应的数据,自然会是undefined。
修复步骤
只需要把mapStateToProps里的键名改成isConnected,和组件接收的props名称保持一致即可:
const mapStateToProps = (state) => ({ isConnected: state.user.isConnected, // 键名与组件props匹配 });
额外核对(你的现有代码这部分是没问题的)
- 你的
rootReducer已经通过combineReducers正确合并了userreducer,state.user的访问路径是对的 userreducer的初始状态initialState里确实包含isConnected: false,状态结构没有问题
改完之后,组件就能正确拿到isConnected的状态值啦!
内容的提问来源于stack exchange,提问作者VersifiXion
相关产品推荐
相关产品推荐

