我正在尝试将 Redux 合并到我的 React native 应用程序中。我正在使用 React native 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 连接包装方法导出的任何 View 。我得到的错误是“mapStateToProps 必须返回一个对象。而不是收到未定义的
”。导出这样的组件时效果很好
module.exports = Login;
由于我想实现 Redux,我将非常感谢任何有关使用 redux“connect()”导出的帮助或任何关于我做错了什么的提示
非常感谢!
/约翰
最佳答案
connect
内的箭头函数出现错误。花括号在这里不起作用,正如您所期望的那样。如果你想返回一个对象,你应该将它括在括号中:
module.exports = connect((state) => ({token: state.token}))(Login);
参见this answer适用于所有可能的箭头函数用例。
此外,{state.token}
不是有效的对象文字。您只能对标识符使用较短的形式,例如 {state}
。
关于navigation - React - 导航到 Redux 连接的组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34491555/