【问题标题】:How do I connect React native app with node js?如何将 React 本机应用程序与节点 js 连接?
【发布时间】:2020-08-06 05:42:30
【问题描述】:

我已经为登录和注册页面使用节点 js 创建了后端。现在我想连接到节点 js 。但我不知道该怎么做。我想用我的节点 js 连接这两个反应本机。你能帮帮我吗?

【问题讨论】:

  • 我不太确定您所说的“连接”是什么意思。但是,我想您指的是让您的 react native 能够与您的节点 js 后端服务器交互并交换数据?为此,您只需要简单地调用您的节点 js 端点;例如http://localhost:4000,通过使用fetch 命令或Axios。请参阅这些文档以了解更多信息 --> reactnative.dev/docs/network (Fetch)、npmjs.com/package/axios (Axios)。
  • Axios 是一个处理 http 请求的 NPM 库。

标签: node.js react-native react-redux


【解决方案1】:

就像我们为网络应用所做的那样。

这里是一个错误报告的例子

export default async function (body) {
  console.log(JSON.stringify(body))
  const res = await fetch(`${host}/api/report`, {
    method: 'POST',
    body: JSON.stringify(body),
    headers: {
      'Content-Type': 'application/json',
    },
  })

  const { message } = await res.json()
  if (message) return Toast({ message: message });
  else return Toast({ message: 'network error' });
}

我已经使用fetch 向我的 nodejs 服务器发送 POST 请求

使用 postman 或其他 API 工具,让您的 nodejs API 正常工作,然后如上所述连接到您的 React Native 应用程序。

【讨论】:

    【解决方案2】:

    您可以使用 ngrok 将 Node 与 react-native 连接起来。运行这个命令:

    npm i ngrok -g # installing it globally 
    

    然后打开另一个终端。运行:

    ngrok http 3000 # the port you are running on node
    

    然后它会显示一个替代链接,您可以使用它来测试您的节点。
    注意:如果ngrok http 3000 不起作用,请尝试ngrok http -region us 3000。 可用的有useuapau。就我而言,欧盟为我工作。

    然后复制生成的链接,例如http://8074-129-205-124-100.eu.ngrok.io 并测试您的后端是否显示 API。

    如果链接有效,那么您可以将其与fetch 一起使用。上传json数据以发送到MongoDB。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-13
      • 1970-01-01
      • 2022-11-15
      • 2022-01-08
      • 1970-01-01
      • 2021-04-25
      相关资源
      最近更新 更多