Отображение массива объектов, имеющих идентификатор пользователя, и получение сведений о пользователе из этого идентификатора пользователя - PullRequest
1 голос
/ 17 апреля 2019

У меня есть массив объектов типа

const array = [{
    text: 'some text',
    userID: '1'
  },
  {
    text: 'another text',
    userID: '2'
  }
]

Мне нужно отобразить этот массив в React, а также получить данные пользователя, такие как username & user-dp, через userID.Как я должен это делать.Я использую React, MongoDB, NodeJS, Express.

Я попытался вызвать API для получения сведений о пользователе при отображении массива в моем коде внешнего интерфейса.Это не отображает должным образом, как я узнал позже, что мы не должны вызывать api в методе render ().

1 Ответ

0 голосов
/ 19 апреля 2019

Ну, ваш вопрос не завершен, но я попробую ... Если у вас есть:

const array = [{
    text: 'some text',
    userID: '1'
  },
  {
    text: 'another text',
    userID: '2'
  }
];

Вы можете сделать

async componentDidMount() {
  // I dont know where the array come from, ill assume it comes from the props...
  const { array } = this.props;
  // Promise.all returning an array of userDetails in the same order than the given array
  const userDetails = await Promise.all(array.map(({userID}) => fetch(`apiUrl/${userID}`);
  this.setState({ userDetails })
}; 

И тогда у вас будетдоступ к вашим данным в рендере путем доступа к вашему состоянию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...