reactjs - 在重定向时保留状态,没有 redux 或 react-router
问题描述
我正在创建一个 React 应用程序作为个人项目。我正在使用带有隐式授权流的 OAuth,它让我的用户重定向到另一个页面进行身份验证,然后重定向回我的应用程序。一切都按我的预期工作,但是当用户被重定向时,我的所有状态都被清除了。
例如,我的用户从书籍列表中找到一本书,这会将用户从索引页面带到该特定书籍的显示页面,并且书籍的 ID 保存在组件的状态中。当用户想要将这本书保存到他们的个人帐户时,他们通过 OAuth 登录并返回。现在这本书不再保存在状态中,用户需要以登录用户的身份重新搜索并找到它。如果可能,我想避免使用 redux 和 react-router,到目前为止我想到的唯一解决方法是将书籍 ID 保存到 localStorage,我不确定这是一个好习惯。
还有其他方法可以解决这个问题吗?
解决方案
关于您的评论:
如果可能,我想避免使用 redux 和 react-router
Redux 或 react-router 不能解决这个问题。它们以与您现在相同的方式存储数据,在内存中,一旦您刷新或关闭页面,所有数据都将丢失。
关于使用localStorage
:如果它对您有用,您可以继续使用它。它是标准的,并且在所有主要浏览器中都受支持。如果您正在处理非常结构化的数据,也许也可以看看IndexedDB。
推荐阅读
- excel - 循环通过 Power Pivot、数据透视表过滤器并打印到 PDF
- flutter - FLutter:迭代列表时在 null 上调用了方法“[]”
- javascript - 将单元格数据从 Google 表格提取到 Google 应用制作工具中的文本框或标签
- python - 如何在 gdal python 中使用 /viscurl/ 将 Open Data url 加载到 posgres 中?
- c# - 使用 IEnumerator 对项目进行异步操作
- java - 递归如何在此代码中工作以查找 GCD?
- python - 有没有实现与 df.groupby(column_list).size().reset_index() 相同的 pandas 方法?
- python - 如何添加 ; 在 hive ddl 提取的末尾
- string - 在 Scala 中将单词列表查找到字符串中
- laravel - 视图似乎没有在 laravel 中间组“auth”中看到 $error 变量