我的 React Native 应用程序遇到一个问题,当我使用 npx expo start 运行应用程序时,POST 请求可以正常工作,但当我使用 EAS Build 构建 APK 并将其安装在我的 Android 上时,它无法按预期工作设备。
在我的应用程序中,我有一个标记为“完成”的按钮,按下此按钮时,它会向服务器发送 POST 请求,并应在按钮下方显示响应文本。这是我的代码的简化版本:
// ...imports and other code...
const TypeScreen = () => {
const [mole, setMole] = useState('');
const [responseText, setResponseText] = useState('');
const sendPostRequest = async () => {
try {
const ipAddress = '/*IP*/';
const port = '/*PORT*/';
const endpoint = `http://${ipAddress}:${port}/`;
const requestBody = {
"key1": mole
};
const json = JSON.stringify(requestBody);
const response = await fetch(endpoint, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: json,
});
if (response.ok) {
const responseText = await response.text();
console.log('POST request successful');
console.log('Response Text: ', responseText);
setResponseText(responseText);
} else {
console.error('POST request failed with status:', response.status);
}
} catch (error) {
console.error('Error sending POST request:', error);
}
};
return (
// ...other components and UI...
<TouchableOpacity
style={styles.btnPurple}
onPress={sendPostRequest}
>
<Text style={styles.buttonTextWhite}>Done</Text>
</TouchableOpacity>
<View style={{ marginTop: 20 }}>
<Text style={styles.buttonTextPurple}>Response:</Text>
<Text style={styles.buttonTextPurple}>{responseText}</Text>
</View>
);
}
我已经检查了网络连接并查看了 EAS 构建日志,但我不确定为什么开发和生产构建之间的行为有所不同。任何见解或建议将不胜感激。
您最终找到解决方案了吗?