Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.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中映射对象数组_Javascript_Reactjs_Redux - Fatal编程技术网

Javascript 如何在react redux中映射对象数组

Javascript 如何在react redux中映射对象数组,javascript,reactjs,redux,Javascript,Reactjs,Redux,我正在尝试通过redux访问用户 const mapStateToProps = state => ({ user: state.user.userdata }) 当我这么做的时候 console.log(this.props.user) 我得到一个由两个对象组成的数组数据和状态 data: Array(2) 0: {id: 1, name: "kayondo"} 1: {id: 2, name: "syphat"} length: 2 __proto__: Array(0)

我正在尝试通过redux访问用户

const mapStateToProps = state => ({
    user: state.user.userdata
})

当我这么做的时候

console.log(this.props.user)
我得到一个由两个对象组成的数组数据和状态

data: Array(2)
0: {id: 1, name: "kayondo"}
1: {id: 2, name: "syphat"}
length: 2
__proto__: Array(0)
status: 200
但是当我试图通过数据键映射时

this.props.user.data.map(x => (<div>{x.name}</div>}
this.props.user.data.map(x=>({x.name}}
我在控制台中收到一个错误
未定义
?我如何解决这个问题

this.props.user.map(x => (<div>{x.name}</div>)
this.props.user.map(x=>({x.name})

您没有使用正确的语法进行映射。请尝试使用以下语法:

this.props.user.data.map(x => (<div>{x.name}</div>));
this.props.user.data.map(x=>({x.name}));

执行控制台.log(this.props.user.data)时会得到什么?控制台发出的完整错误消息是什么?什么是“2个对象的数组”
this.props.user
本身是一个数组,还是您只是指
data
?很难从您发布的内容中分辨出整个数据结构。在呈现组件时是否进行api调用?这听起来可能像
this.props.user.data
在解决api调用之前不存在。如果这是如果您需要一个条件呈现
const{data}=this.props.user;如果(data&&data.length){//map here}
@AaronRoss是的,我得到两个响应,因为第一个是空数组,第二个是带数据的数组