要通过Expo向本地主机发送HTTP请求,您可以使用Fetch API或第三方库,如Axios
npm install -g expo-cli
expo init MyApp
cd MyApp
expo start
npm install axios
expo start
这将在浏览器中打开Expo开发工具。
ipconfig
命令在命令提示符中查找IPv4地址。对于Mac和Linux系统,可以在终端中使用ifconfig
命令查找。App.js
文件,并替换为以下代码(如果使用Axios,请先引入axios):import React, {useState, useEffect} from 'react';
import {View, Text, Button} from 'react-native';
// 如果使用Axios,请取消下一行的注释
// import axios from 'axios';
export default function App() {
const [data, setData] = useState(null);
const fetchData = async () => {
// 替换 YOUR_LOCAL_IP_ADDRESS 为你在步骤4中找到的本地IP地址
// 并替换 YOUR_PORT_NUMBER 为你的本地服务器监听的端口号
const url = `http://YOUR_LOCAL_IP_ADDRESS:YOUR_PORT_NUMBER`;
try {
const response = await fetch(url);
// 如果使用Axios,请使用下面的代码代替上面的代码
// const response = await axios.get(url);
const result = await response.json();
setData(result);
} catch (error) {
console.error('Error fetching data:', error);
}
};
return (
<View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
<Button title="Fetch Data" onPress={fetchData} />
{data && <Text>{JSON.stringify(data, null, 2)}</Text>}
</View>
);
}
注意:如果您的本地服务器在模拟器或真实设备上遇到连接问题,请尝试使用localhost
替代局域网IP地址(对于Expo开发服务器来说,它应该是http://localhost:YOUR_PORT_NUMBER
)。但这可能需要您将模拟器或设备连接到与运行Expo开发服务器相同的Wi-Fi网络上。
领取专属 10元无门槛券
手把手带您无忧上云