【发布时间】:2021-10-16 07:17:42
【问题描述】:
我已经通过这个命令安装了axios:
npm i axios
我写了下面的代码,我认为一切都是正确的,但是 React-Native 没有显示任何数据并抛出任何错误:
import React, {useState, useEffect} from 'react';
import axios from 'axios';
import {
View,
Text,
StyleSheet
} from 'react-native';
const App = () => {
const [data, setData] = useState([]);
useEffect(() => {
axios.get('http://localhost:8000/posts').then(res => {
setData(res.data);
});
}, []);
return (
<View style={styles.mainBody}>
{
data.map(item => (
<View>
<Text>{item.fields.title}</Text>
</View>
))
}
</View>
);
};
-
我已经为此测试了
functional和class-based组件。 -
我使用 Postman 获取数据并且工作正常。
-
我添加了
.catch,它显示:Error: Network Error
但它在 React-Native 上不起作用,并且由于没有错误,我无法理解我的问题是什么。任何帮助将不胜感激。
【问题讨论】:
-
是因为this吗?
-
@Adam 我没有任何错误。
-
缺少数据是一个错误。请提供详细信息 - 提取是否完成?它甚至一开始就着火了吗?提取是否无限期挂起?它最终会抛出(如果你添加了一个捕获)?
-
@Adam 我应该如何在 React-Native 中首先检查 fetch 是否被触发?
-
也许链接一个 .catch 来捕获错误并尝试在调用之前添加调试器并跟踪跟踪。
标签: javascript reactjs react-native axios