API端点可以在浏览器和postman上运行,但不能在我的react原生应用程序上运行。
我尝试了另一个在谷歌上找到的API示例,它可以工作,但我的不能
下面是我的react原生代码:
import React, { useEffect, useState } from 'react';
import { FlatList, Text, View } from 'react-native';
export default Home = () => {
const [data, setData] = useState([]);
console.log(data);
useEffect(() => {
fetch('http://127.0.0.1:8000/api/users')
.then((response) => response.json())
.then((json) => setData(json))
.catch((error) => console.error(error))
}, []);
return (
<View style={{ flex: 1, padding: 24 }}>
{
( <View style={{ flex: 1, flexDirection: 'column', justifyContent: 'space-between'}}>
<Text style={{ fontSize: 14, color: 'green', textAlign: 'center', paddingBottom: 10}}>Users:</Text>
<FlatList
data={data.users}
keyExtractor={({ id }, index) => id}
renderItem={({ item }) => (
<Text>{item.id + '. ' + item.name}</Text>
)}
/>
</View>
)}
</View>
);
}
1条答案
按热度按时间cpjpxq1n1#
react-native中的Fetch实际上是XMLHTTPRequest的一个 Package 器。我有时候在使用React-native中的Fetch时会有非常奇怪的体验,我发现一个修复方法是使用一个库来替换它。我自己使用react-native-blob-util库,当我使用其他库时,fetch停止工作。