React native 从API获取JSON信息

React native 从API获取JSON信息,react-native,axios,react-native-flatlist,apisauce,React Native,Axios,React Native Flatlist,Apisauce,我正在使用Axios(APISOUT)连接API以响应本机应用程序; 这是我试图使用FlatList在应用程序中显示的JSON文件: { "data": { "sideMenu": { "url": "https://google.com", "icons": [ { "id": 1,

我正在使用Axios(APISOUT)连接API以响应本机应用程序; 这是我试图使用FlatList在应用程序中显示的JSON文件:

{
  "data": {
    "sideMenu": {
      "url": "https://google.com",
      "icons": [
        {
          "id": 1,
          "url": "https://google.com",
          "status": 1
        },
      ]
    },
  }
}
当我尝试将其登录到控制台时,使用
console.log(response.data)
返回所有API信息,但使用
console.log(response.data.data)
不会返回我要查找的对象

我尝试了
JSON.stringify()
toString()
,但它们似乎都不起作用

我的Axios代码:

const getServices = () => {
  const service = "https://api.team-grp.ir/app/json/services2.json/";

  return client.get(service);
};
我的源代码:

  const ServiceInfo = async () => {
    await getServices()
      .then((response) => {
        if (response.ok) {
          setServicesData(response.data.data);
        }
      })
      .catch((error) => {
        console.warn(error);
        setServicesData([]);
      });
  };


useEffect(() => {
ServiceInfo();
});

不应将async/await与.then/.cache一起使用。。。 此代码适用于我: (您还可以在这个答案的底部看到我的示例代码图像,其中包含一个伪getService函数,您将看到记录的响应是正确的)


您不应该将async/await与.then/.cache一起使用。。。 此代码适用于我: (您还可以在这个答案的底部看到我的示例代码图像,其中包含一个伪getService函数,您将看到记录的响应是正确的)

试试这个


试试这个

你能分享你的axios代码吗?请包括你的源代码。@DevLover-Edited MainQuestion@C.K编辑的主要问题您能分享您的axios代码吗?请包括您的源代码。@DevLover编辑的主要问题Question@C.K编辑主要问题谢谢!我查一下谢谢!我查一下
const ServiceInfo = () => {
    getServices().then((response) => {
        if (response.ok) {
          setServicesData(response.data.data);
        }
      })
      .catch((error) => {
        console.warn(error);
        setServicesData([]);
      });
  };


useEffect(() => {
   ServiceInfo();
}, []);
const ServiceInfo = async () => {
    await getServices()
      .then((response) => {
          return response.json();
      })
      .then((response) => {
         setServicesData(response.data);
       })
      .catch((error) => {
        console.warn(error);
        setServicesData([]);
      });
  };