React 客户端模拟问题:管理状态与本地存储

问题描述 投票:0回答:1

我正在创建一个健身房级管理系统的仅客户端模型。我有一个包含 javascript 虚拟用户对象的模型文件夹,它将提供默认的用户凭据和信息。但是,我希望用户登录(使用虚拟凭据),然后能够通过编辑个人信息、安排课程等来使用该功能。我确实想要跨不同会话的持久数据,所以我使用 localStorage 作为“数据库” 。该项目非常小,因此我并不担心存储大小限制。现在,我已经对其进行了编程,以便登录设置全局授权用户状态并使用用户对象及其所有属性设置 localStorage。

  • 当涉及到实际功能(例如编辑配置文件或其他内容)时,我不知道是否应该:

=> alter localStorage => 然后有一个 useEffect 将状态与存储更改同步 => 改变状态 => 然后有一个 useEffect 将存储与状态更改同步 => 只更新两者?

例如,我有一个小部件组件可以跟踪管理员用户的待办事项。在用户对象中,我有一个嵌套的待办事项数组。到目前为止,我已经对其进行了编程,以便当管理 CRUD 对 todo 小部件进行操作时,它会更新 authState 和 localStorage 用户对象中的 user.todos 属性。我目前只是想知道对于这些仅限客户端的模型是否有“最佳实践”。

reactjs react-hooks local-storage
1个回答
1
投票

除非必要,否则我会避免使用 useEffect。为了获得最佳用户体验,立即更新状态可能是最有意义的,然后在同一事件处理程序中更新本地存储。我只会在加载时从本地存储中提取数据。

© www.soinside.com 2019 - 2024. All rights reserved.