reactjs - 如何获取本地 JSON(获取)?
问题描述
如何获取本地 JSON(获取)?
我做一个服务,然后我调用类实例
这不是它的工作方式:
服务.js
export default class ApiService {
async GetPeople() {
const request = await fetch('./data.json');
if(!request.ok) {
throw new Error('Что-то пошло не так', request.status)
} else {
return request.json()
};
};
};
用户列表.js
import Service from '../../../Services';
const UsersListContainer = () => {
const api = new Service();
useEffect(() => {
api.GetPeople()
.then(data => console.log(data))
}, [api])
return (
<UsersListView />
);
};
export default UsersListContainer;
解决方案
正如 Jai 正确所说:您需要等待 .json() 方法。见:https ://gist.github.com/msmfsd/fca50ab095b795eb39739e8c4357a808#gistcomment-2198304
其次我想给大家一个建议:直接将ApiService导出为单例实例。不要在组件内初始化 ApiService 类,也不要将 api 作为依赖项放在 useEffect 中。
原因:您的 ApiService 类没有任何理由在您的 UserListContainer 挂载时创建实例。
推荐阅读
- android - Firebase auth google登录api异常8
- java - [TEST][Espresso] 无法在具有多个条件的 RecycleView 中获取元素
- java - Java:使用foreach循环迭代时并发修改异常
- r - 根据每个组的最小数量查找索引
- python - 如何在 Tensorflow 中禁用回溯
- android - 网络安全配置导致 React Native 应用程序未连接到 Metro 服务器
- c# - 如何将 PlayFab 的 UserDataRecord 转换为字符串数组
- sql - 如何在 SQLite Flutter 数据库中保存日期?
- javascript - CSS & JS 在按钮悬停时更改 div 背景颜色?
- linux - 使用 SSHFS 在 Windows 10 中挂载 Linux FS