【发布时间】:2020-09-28 04:07:21
【问题描述】:
我在 MongoDB 中有一个通用医学数据库,其中包含大约 3500 个文档。我想在 React Web 应用的自动完成输入字段中使用药物名称和品牌名称。
数据可能如下所示:
{
"_id": {
"$oid": "5ed9bf1087263e1ef3d65288"
},
"name": "Ethamsylate + Mefenamic acid",
"brands": [
{
"name": "STOP-MF",
"package": "Tablet",
"strength": " ",
"price": "120.00"
},
{
"name": "SYLATE-M 500",
"package": "Tablet",
"strength": " ",
"price": "156.00"
},
],
}
数据不会经常更改,因此我想在初始加载时将其缓存在客户端。 我一直在谷歌上搜索这个。 我发现的是:
- 为每个新输入的字符发出 HTTP 请求是错误的。
- LocalStorage API 易于使用,但需要压缩数据
- IndexedDb 提供无限存储,但 API 相当复杂
我在浏览器中没有找到太多关于其他存储选项的信息。 感谢您的所有帮助!
试过 SWR,但每次我重新加载页面时它都会发出一个 HTTP 请求,因为请求需要 5-8 秒才能获取数据,所以我想以某种方式将数据本地存储在浏览器中
【问题讨论】:
标签: json reactjs autocomplete local-storage browser-cache