react-native - 我无法使用 Fetch 的方法从 react-native 访问 JSON.server 中的数据
问题描述
我使用以下代码创建了一个简单的 JSON.server 项目:
npm install JSON-server -g
我使用以下代码运行此服务器:
JSON-server --watch db.json -p 3001 -d 2000
当我在浏览器中运行此服务器时,它可以工作,但是当我以本机反应从该服务器获取数据时,这不起作用。
我的 react-native 用于从 JSON.server 获取数据的代码:
return fetch(baseUrl + "data")
.then(
response => {
if (response.ok) {
return response;
} else {
//error
}
},
error => {
var errmess = new Error(error.message);
throw errmess;
}
)
.then(response => response.json())
.then(dishes => dispatch(fetchData(data)))
.catch(error => dispatch(dataFailed(error.message)));
fetchData
方法:
export const fetchData = data => ({
data: data
});
更新1:
这是baseUrl:
export const baseUrl = "http://192.168.1.8:3001/";
请帮我解决问题。
解决方案
我的问题是因为我的 ip4 地址。
正如我之前所说,我已经尝试过这个问题,但我的问题没有解决。
我确实找到了一种从服务器获取数据的方法。
对于那些面临类似问题的人。
脚步:
1) 转到https://ngrok.com/并创建帐户
2) 登录
3)进入设置和安装,按照1、2步骤。
4) 将 ngrok.exe 放在您选择的文件夹中。确保该文件夹位于您的 PATH 环境变量中。
5) 按照设置和安装的步骤 3。
6) 打开命令提示符并输入 ngrok http(例如:3005)并输入。你会得到一个 ngrok url(例如:转发http://977ab183.ngrok.io)
7) 将此网址(例如:http: //977ab183.ngrok.io/ )设为您的应用程序 baseUrl
8) 打开另一个指向您的应用程序目录的命令提示符并运行您的 json 服务器: json-server --watch db.json -p 3005 -d 2000
推荐阅读
- python - 如何使用 Flask 返回 .find() 作为响应?
- node.js - 使用节点 js 进行条带订阅
- r - R plm 包中关于长度相同但内容不同的索引的警告消息
- python - 以 t 开头但以非 e 结尾的单词
- mysql - 如何在 Woocommerce 中删除具有相同产品 ID 的重复产品?
- python - 列表理解中的列表弹出未获得预期结果
- npm - 从 GitLab npm 包中获取 package.json
- spring-boot - 如何在 Spring Batch 中的每个分区步骤完成后添加 tasklet 以运行
- android - Android Java - Glide 在自定义适配器中不起作用
- javascript - 按 ID 从数组中选择