我正在尝试将Redux合并到我的React本机应用程序中。我正在使用React本机Navigator组件进行应用程序导航。我的renderScene方法看起来像这样(带辅助函数):
var Login = require('./src/ui/views/login/login');
.
.
.
getRoute: function(routeName){
const Routes = {
Login: Login,
Waiting: Waiting,
LogoView: LogoView
};
return Routes[routeName];
},
_renderScene: function(route, navigator) {
var component = this.getRoute(route.name);
console.log('Navigate to:');
console.log(component);
var props = {
navigator: navigator
};
return React.createElement(component, props);
},
我导出登录组件(和其他组件),如下所示:
module.exports = connect((state) =>{state.token})(Login);
无法导航到使用Redux connect wrapper方法导出的任何视图。我得到的错误是“mapStateToProps must return an object. Instead received undefined
”。导出像这样的组件
module.exports = Login;
由于我想实现Redux,我非常感谢有关使用redux“connect()”导出的任何帮助或任何关于我做错的提示
非常感谢!
/约翰
答案 0 :(得分:2)
connect
内的箭头函数中的错误。如你所料,卷曲括号在这里不起作用。如果要返回一个对象,则应将其包装在括号中:
module.exports = connect((state) => ({token: state.token}))(Login);
有关所有可能的箭头功能用例,请参阅this answer。
此外,{state.token}
不是有效的对象文字。您只能将较短的表单与标识符一起使用,例如{state}
。