Javascript 如何在react redux中映射对象数组
我正在尝试通过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)
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是的,我得到两个响应,因为第一个是空数组,第二个是带数据的数组