首页 > 解决方案 > 获取多个 url 然后相应地设置状态 React Native

问题描述

我正在尝试获取多个 .png 图像,然后相应地设置我的状态。我已经设法在不使用 Promise.all 的情况下异步获取所有 url;然而,随后的 setstate 函数在 promise 解决之前被执行。因此,我将代码更改为 include promise.all,但似乎我没有正确使用该函数。我收到错误“未定义不是函数(靠近'...podexData.map...')”。有谁知道发生了什么?

在此处输入图像描述

标签: javascriptreact-nativeasync-awaitpromise.all

解决方案


做类似下面的事情

const reqArray = [];
podexData.map(pokemon => reqArray.push(fetch(pokemon.url)));

Promise.all(reqArray).then(allResponses => {
  allResponses.map(pokemonData => 
    dex.push(....);
  );
  this.setState({...});
  ...

})

推荐阅读