【问题标题】:Doing Dexie DB refresh programmatically以编程方式进行 Dexie DB 刷新
【发布时间】:2021-04-28 03:26:56
【问题描述】:

我的应用程序的数据量很大,我们想将数据保存在 UI 上,但它会不断变化,当它发生变化时,我们想刷新数据。在 Dexie 中如何实现?

【问题讨论】:

    标签: dexie


    【解决方案1】:

    尝试新的 liveQuery(),它返回 observable,只要发生变化就会触发。见https://medium.com/dexie-js/awesome-react-integration-coming-f212c2273d05。它不仅适用于反应,即使博客标题也有关于反应钩子的任务。您现在需要安装 dexie@next,但该版本可以认为是相当稳定的。

    【讨论】:

    • 我尝试使用这种 liveQuery 方法得到错误 Object(..) is not a function。 const legalEntityObservable = liveQuery ( () => dbAdmin.table_name.bulkAdd(Object.values(getResponse('table_name'))[0]) );
    • 检查您使用的是正确的 dexie@3.1.0-alpha.6 或更高版本。使用 npm install dexie@next 安装 dexie。
    • 我有 "date-fns": "^2.9.0", "dexie": "^3.1.0-alpha.6",package.json 文件中的正确版本。
    • 我的 useLiveQuery 也被调用了,我可以在控制台中检查输出,但我的 liveQuery 不是,因为我没有得到 someObservable.subscribe({ next: (result) => console.log ('得到结果:', 结果), 错误: (error) => console.error('Error',error), }); const someObservable = liveQuery( () => dbAdmin.some.toArray() );
    • 如果你有时间在codesandbox.io 或类似网站上写一篇repro,那就太好了!我会调查的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多