gpt4 book ai didi

javascript - 使用 Rails 保持前端状态

转载 作者:行者123 更新时间:2023-11-30 10:58:32 24 4
gpt4 key购买 nike

我有一个 Rails 应用程序,我想在用户登录时保存我的 div 的状态。

示例:某人登录后单击 div 将其隐藏。我希望将其存储在某处,这样如果他再次打开该页面,该 div 仍将被隐藏。

我不想使用本地存储,因为如果我也使用移动设备或其他计算机/浏览器,我希望保存状态。它需要在任何地方都相同,具体取决于用户。

我正在考虑将每个 div 的每个状态存储为我的用户模型中的 bool 值,但这个想法听起来一点也不干净,我认为如果这样做我晚上会睡不着觉

有什么想法吗?我认为 React/Redux 会很容易地处理这个问题(也许不是而且它也只是本地的?)但目前我被 Rails 困住了..

非常感谢!

最佳答案

React/Redux 不会拯救你,因为除了一些方便的绑定(bind)之外,没有什么神奇的事情发生。在幕后,他们使用相同的“浏览器功能”。

恐怕您需要找到最适合您的折衷方案。我会发布一些想法:

坚持本地存储

可能不需要在这里多说,因为你调查过这个。

绑定(bind)到 Chrome

从 Chrome 25 开始,他们允许访问 storage.sync你可以围绕这个开发你的系统。始终尝试检索数据(如果有),然后记得保存新数据并同步它。也许其他浏览器支持此功能,但缺点是您还必须拥有这些浏览器的代码。

使用 webRTC 进行实验

您可以使用 webRTC 在两个浏览器之间传输数据。虽然我在这方面没有太多经验,但我不推荐它,但这绝对是您想要考虑的一种方法。

也许检查这个项目:https://github.com/cjb/serverless-webrtc

创建自己的存储空间

拿起一个存储(我认为即使是 firebase/dynamodb 也可以)并构建一个系统来保存用户偏好。如果您拥有 Auth0,您可以在其中保留一些逻辑,并且由于他们提供 SSO,因此检查这些自定义设置将相当容易。

请记住,由于您不想使用 localStorage,因此您需要保持 session 并将此首选项保存在 user_id 或其他名称下。

在我看来,对此没有最好的解决方案,只有你想要交易的东西才能支持它。如果您不介意保留整个业务逻辑,我不明白为什么为此创建存储会使它变得太慢。测量负载并在此过程中进行优化。

关于javascript - 使用 Rails 保持前端状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59032822/

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