gpt4 book ai didi

javascript - 在本地存储自动完成/预先输入字段的数据

转载 作者:行者123 更新时间:2023-12-01 05:43:38 26 4
gpt4 key购买 nike

我正在构建一个带有自动完成/预先输入输入字段的 Web 应用程序(在客户端的 React 中并由 Rails 服务器 API 支持)。我想在本地(在客户端上)存储该字段的数据,因为:

  1. 我希望用户输入时能够立即得到响应。这很重要,因为它本质上是一个数据输入应用程序,此过程会重复多次。这也意味着数据将被一次又一次地重复使用。
  2. 数据是静态的,不会发生变化(除非新数据集每 1-2 年出现一次)。

数据由约 2600 个对象组成,每个对象都有一点关联数据。目前生成的 JSON 数组的大小总计约为 420 KB。

我的问题是:在客户端以合理持久的方式存储这些数据的最佳策略是什么?

  • 它是否应该存在于自己的静态 js 文件中,分配给一个变量,随页面一起加载并(希望)在后续访问时缓存?

  • 是否应该通过 Ajax 以 JSON 形式发送(至少在最初)——这会给我带来相同的缓存优势(除了多一点灵 active )吗?

  • 本地存储怎么样 - 是否推荐?它在 IE8 中运行吗?如果是的话,在这种情况下我将如何利用它?如果必须的话我可以使其无效吗?

就像我说的,客户端是用 React 构建的,但如果相关的话我也会使用 jQuery。

感谢任何帮助或建议,谢谢。

最佳答案

虽然在客户端存储~2600个对象不是我的偏好,(我更喜欢通过ajax调用在服务器端过滤结果,并且你已经在运行rails了。如果处理得当,响应是即时的)。

  1. 因此,如果您确实希望客户端保存数据,请创建一个 Store(如果您使用的是 Flux)或只是一个全局变量来保存常量。包括用于过滤/自动完成的常量。
  2. 通过 Ajax 获取初始数据:如果您在索引端点的 Rails 服务器上缓存响应,您确实获得了更多的灵 active (添加/编辑数据等)。然而问题是我们会损失带宽,因为组件每次渲染时都必须触发 ajax。如果想将使用扩展到移动应用程序,这将成为一个瓶颈。
  3. 在这种情况下通过本地存储来实现与全局变量具有相同的效果。

关于javascript - 在本地存储自动完成/预先输入字段的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29136944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com