使用fetch将数据发送到Node.js服务器
我不熟悉React Native和Node.js,所以这个问题可能很明显。我已经从“app.js”运行了React本机应用程序使用fetch将数据发送到Node.js服务器,node.js,express,react-native,fetch,Node.js,Express,React Native,Fetch,我不熟悉React Native和Node.js,所以这个问题可能很明显。我已经从“app.js”运行了React本机应用程序 从“React”导入React; 从“react native”导入{样式表、文本、视图、按钮}; 导出默认类App扩展React.Component { render() { 返回( ); } 女佣() { 取('http://10.222.22.22:3000/',{ 方法:“POST”, 正文:JSON.stringify({ a:你好 }), 标题:{“内容类
从“React”导入React;
从“react native”导入{样式表、文本、视图、按钮};
导出默认类App扩展React.Component
{
render()
{
返回(
);
}
女佣()
{
取('http://10.222.22.22:3000/',{
方法:“POST”,
正文:JSON.stringify({
a:你好
}),
标题:{“内容类型”:“应用程序/json”}
})
.然后(功能(响应){
返回response.json()
}).catch(错误=>console.log(错误));
}
}
const styles=StyleSheet.create({
容器:{
弹性:1,
背景颜色:“#fff”,
对齐项目:“居中”,
为内容辩护:“中心”,
},
});代码>尝试将您的手柄按钮
声明为箭头功能
handlePress = () => {
// ... your fetch code
}
ngrok
允许您向internet公开在本地计算机上运行的web服务器。
参考-
设置非常简单
通过npm i ngrok-g从npm全球下载ngrok
打开终端并运行ngrok http 3000
(因为您的服务器正在端口3000上运行)
您将获得类似https://3e8a70f45d9b.ngrok.io
(该链接对您来说是唯一的)
在另一个终端上运行服务器,并在另一个终端上运行react本机应用程序
现在将您的URL从更改为从步骤3获得的链接
注意:登录ngrok.com允许您有额外的会话时间,这与默认超时会话不同,默认超时会话为2小时
您是否收到任何错误?您确定正在调用handlePress
?乍一看,这里什么也看不见。@Cristy,没有errors@JackRyan是的,它被称为我有一个控制台日志,在它看起来没有从客户端连接到服务器之前。获取后是否检查了客户端控制台?这不重要,因为它不访问任何类成员,也可以是静态函数。