React Native:POST 请求在开发中有效,但在 EAS 构建 APK 中无效

问题描述 投票:0回答:1

我的 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 构建日志,但我不确定为什么开发和生产构建之间的行为有所不同。任何见解或建议将不胜感激。

android react-native request expo eas
1个回答
0
投票

您最终找到解决方案了吗?

© www.soinside.com 2019 - 2024. All rights reserved.