Reactjs 如何将axios数据返回到提要视图?

Reactjs 如何将axios数据返回到提要视图?,reactjs,axios,Reactjs,Axios,我正在使用reactjs构建提要新闻,但是,我注意到Axios没有将数据返回到我的浏览器提要以处理数据,我在这段代码中遗漏了什么 const browserFeed = async () => { const response = await browse(); console.log(response) setFeed(response.data.results); // undefined setIntialized(true); };

我正在使用reactjs构建提要新闻,但是,我注意到Axios没有将数据返回到我的浏览器提要以处理数据,我在这段代码中遗漏了什么

const browserFeed = async () => {  
    const response = await browse();
    console.log(response)
    setFeed(response.data.results);  // undefined
    setIntialized(true);  
  };


  export const browse = () =>  {
    axios.get('xxxxxxxxxxx').then((result) => {
      return result // undefined
    }).catch((error) => {
      return error;
    })
  }

您无法返回承诺
axios。获取
returns

export const browse = () =>  {
  return axios.get('xxxxxxxxxxx').then((result) => {
    return result;
  }).catch((error) => {
    return error;
  });
};
不过,您可以简单地返回承诺,不需要链接另一个
。然后
只返回解析值

export const browse = () =>  {
  return axios.get('xxxxxxxxxxx').catch((error) => {
    return error;
  });
};
老实说,我认为您也不想在这里捕获并返回错误,因为编写组件逻辑是为了假设成功。您可以在
try/catch
中返回承诺并处理任何被拒绝的承诺

export const browse = () =>  {
  return axios.get('xxxxxxxxxxx');
};
但是这有点无聊,最好在组件中调用
axios
。在
try/catch
中包围所有提取逻辑,在happy success分支中设置提要,在sad failure分支中设置任何错误状态,并在
finally
块中设置初始化状态,以便无论通过/失败,都可以指示数据已提取

const browserFeed = async () => {
  try {
    const response = await axios.get('xxxxxxxxxxx');
    console.log(response)
    setFeed(response.data.results);
  } catch(error) {
    // set any error state
  } finally {
    setInitialized(true);
  }
};
这避免了
async/await
语法与任何承诺链语法的混合,这是应该避免的