javascript - react native : Fetch API URL in development and productive mode

标签 javascript rest api react-native

这就是我的登录功能在我的 React Native 应用程序中的样子。正如您所看到的,有一个用于 API 调用的 URL,现在是 localhost。在生产环境中,当然必须有有效的 URL。

如何以编程方式执行此操作?因为我想在代码上进行开发而不总是更改 URL...

async function login (username, password) {
  try {
    await sleep(2000)
    let response = await fetch('http://localhost:4000/login', {
      method: 'POST',
      headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        username,
        password
      })
    })
    let responseJson = response.json()
    return responseJson
  } catch (error) {
    Alert.alert('Error', 'Could not login')
  }
}

最佳答案

您应该能够检查 process.env.NODE_ENV 环境参数并根据该参数设置 URI:

const uriBase = process.env.NODE_ENV === 'development' 
   ? 'http://localhost:4000'
   : 'https://productionURL'

let response = await fetch(`${uriBase}/login`, { ...

关于javascript - react native : Fetch API URL in development and productive mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45847813/

相关文章:

javascript - 我如何使用 docker Fig 自动加载代码更改

javascript - 使用第 n 个子选择器更改背景颜色

api - 使用 VBScript 枚举环境键?

javascript - 我如何将输入文本传递到 React 应用程序中的过滤器组件

ruby-on-rails - 在设计 [Rails 4] 之上滚动 token 认证机制

javascript - contentEditable div 显示 : none/block focus problem on Chrome

javascript - 如何实现水平页面导航系统?

c# - 为什么我的 WebApi 收到响应状态代码 204 No Content?

rest - 使用 Gobot.io 和 sleepy RESTful Framework for Go 执行 SparkCore 函数

javascript - window.location.href 使用 POST 而不是 GET(或等效效果)