React - 导航到Redux连接组件

时间:2015-12-28 10:14:28

标签: navigation react-native redux

我正在尝试将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()”导出的任何帮助或任何关于我做错的提示

非常感谢!

/约翰

1 个答案:

答案 0 :(得分:2)

connect内的箭头函数中的错误。如你所料,卷曲括号在这里不起作用。如果要返回一个对象,则应将其包装在括号中:

module.exports = connect((state) => ({token: state.token}))(Login);

有关所有可能的箭头功能用例,请参阅this answer

此外,{state.token}不是有效的对象文字。您只能将较短的表单与标识符一起使用,例如{state}