Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript React-Redux未在mapStateToProps中获取状态_Javascript_React Native_React Redux - Fatal编程技术网

Javascript React-Redux未在mapStateToProps中获取状态

Javascript React-Redux未在mapStateToProps中获取状态,javascript,react-native,react-redux,Javascript,React Native,React Redux,我试图让用户通过react redux在我的应用程序中登录,但它给出的错误如下 TypeError:undefined不是对象(正在计算“state.user\u name”) app.js 从“React”导入React; 从“react native”导入{样式表、文本、视图}; 从“/drawerNavigator.js”导入AppDrawer; 从“./screens/stackNavigator”导入MainNavigator 从“redux”导入{createStore} 从“re

我试图让用户通过react redux在我的应用程序中登录,但它给出的错误如下

TypeError:undefined不是对象(正在计算“state.user\u name”)

app.js

从“React”导入React;
从“react native”导入{样式表、文本、视图};
从“/drawerNavigator.js”导入AppDrawer;
从“./screens/stackNavigator”导入MainNavigator
从“redux”导入{createStore}
从“react redux”导入{Provider}
初始状态={
名字:“,
姓氏:“,
用户名:“”,
密码:“”,
}
const reducer=(state=initialState,action)=>{
开关(动作类型){
“注册”案例:
回来
{first_name:state.first_name=action.payload.first_name}
{last_name:state.last_name=action.payload.last_name}
{user\u name:state.user\u name=action.payload.user\u name}
{password:state.password=action.payload.password}
控制台日志(“注册”);
“登录”案例:
回来
stringify(action.payload);
}
返回状态
}
const store=createStore(reducer);
导出默认类App扩展React.Component{
建造师(道具){
超级(道具);
}
render(){
返回(

);
}

}
此处出现了特定错误。JS将评估下面的代码

case 'SIGN_UP':
return
  {first_name: state.first_name = action.payload.first_name}        
  ...
作为

这是一个活生生的例子

const testReturn=()=>{
回来
{a:2}
}

log(testReturn())
您的减速机应该如下所示

const reducer = (state = initialState, action) =>{  
  switch (action.type) {
    case 'SIGN_UP':
      return { ...action.payload };
    case 'LOG_IN':
      return JSON.stringify(action.payload);
    default:
      return state;
  }
}

在某些情况下,使用分号结束语句缺少它会产生问题。

您的
注册案例中发生了什么?是否返回4个单独的对象?请尝试在MapStateTops中执行console.log(状态)。当你这样做时,你得到了什么输出?是的,4个不同的对象@lankovova@Muljayan我正在获取App.js中定义的完整状态对象。您是否在提到的对象中看到user_name值?
const reducer = (state = initialState, action) =>{  
  switch (action.type) {
    case 'SIGN_UP':
      return { ...action.payload };
    case 'LOG_IN':
      return JSON.stringify(action.payload);
    default:
      return state;
  }
}