javascript-在Redux中映射对象数组数据

我正在使用axios和redux的api请求返回一个response.data对象数组.

我的减速器如下:

export default function(state = [], action) {
  switch (action.type) {
     case FETCH_USERS:
         console.log(action.payload.data)
         return { ...state, users: action.payload.data };
       }
  return state;
}

console.log在chrome控制台中返回此值

 [object, object]

我的问题出现在如何映射对象数据上.我尝试了以下将数组映射到的位置. (用户是对象数组的支柱.)

  ....
 {this.props.users.map(this.renderUser)}
 ...

 renderUser(user) {
  return (
    <tr>
      <td> {user.contact_name}</td>
      <td> {user.contact_email}</td>
    </tr>
  );
}

当我使用React控制台检查我的道具时,我得到以下信息:

users: {...}
   users: 
      0:{...}
      1:{...}

我不确定如何将对象映射到html.如果将其转换为字符串并将其映射会更好吗?我的映射显示为空白.

解决方法:

您的问题是状态与阵列名称相同,这使您感到困惑.

您的用户减速器是

const initialState = {
   ....
   users : []
}

当您使用“用户”名称将其映射到道具时,您得到的是

this.props.users = initialState

因此,为了访问用户,您需要使用

this.props.users.users

也就是说,访问用户的方式就是这样.

  ....
 {this.props.users.users.map(this.renderUser)}
 ...

 renderUser(user) {
  return (
    <tr>
      <td> {user.contact_name}</td>
      <td> {user.contact_email}</td>
    </tr>
  );
}
上一篇:Fortify---Detail--Sql注入


下一篇:java-由许多其他不同实体映射的实体(使用Hibernate)