Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在浏览器中存储数据?_Reactjs_Session - Fatal编程技术网

Reactjs 如何在浏览器中存储数据?

Reactjs 如何在浏览器中存储数据?,reactjs,session,Reactjs,Session,背景故事:我正在创建一个react应用程序,在验证用户后,使用后端api基于JSON的身份验证进行登录。后端将返回一个JSON令牌,用于将来的请求 我现在在做什么:我使用道具将令牌从一个组件传递到另一个组件(是的,这既不优雅也不干净) 我在寻找什么:看到项目后,有人建议我将令牌和其他冗余数据存储在浏览器内存中。现在,我不知道怎么做,也找不到任何资源 但是:我相信这个问题可以通过redux解决。但我想在跳转到redux或其他一些高级功能之前,先创建一个只响应的应用程序 那么,如何将这些类型数据存

背景故事:我正在创建一个react应用程序,在验证用户后,使用后端api基于JSON的身份验证进行登录。后端将返回一个JSON令牌,用于将来的请求

我现在在做什么:我使用
道具将令牌从一个组件传递到另一个组件(是的,这既不优雅也不干净)

我在寻找什么:看到项目后,有人建议我将令牌和其他冗余数据存储在浏览器内存中。现在,我不知道怎么做,也找不到任何资源

但是:我相信这个问题可以通过
redux
解决。但我想在跳转到
redux
或其他一些高级功能之前,先创建一个只响应的应用程序

  • 那么,如何将这些类型数据存储在浏览器内存中呢
  • 或者,有没有更优雅的解决方案
  • 另外,给我一些关于会话管理的建议。就像令牌过期一样,用户会显示一个对话框并重定向回登录页面

    • 为什么不干脆选择
      LocalStorage
      ?像这样

      localStorage.setItem('user_info', JSON.stringify(response));
      
      有关更多信息,请参阅此处

      更新 要从
      locastorage
      获取值,可以使用以下语法-

      localStorage.getItem('user_info');
      

      为什么不干脆选择
      LocalStorage
      ?像这样

      localStorage.setItem('user_info', JSON.stringify(response));
      
      有关更多信息,请参阅此处

      更新 要从
      locastorage
      获取值,可以使用以下语法-

      localStorage.getItem('user_info');
      

      Redux是react的状态容器。它可以帮助您管理react应用程序中的所有状态。但是你仍然可以不用它(几乎不用)使用当地的州和道具生活。此外,您可以使用localStorage和Cookie来存储您想要的任何内容。

      Redux是react的状态容器。它可以帮助您管理react应用程序中的所有状态。但是你仍然可以不用它(几乎不用)使用当地的州和道具生活。此外,您可以使用localStorage和Cookie来存储您想要的任何内容。

      它是否兼容?我可以将
      道具
      状态
      中的值存储到它吗?我怎样才能找回这些值呢?这与反应或角度无关,它的功能是由浏览器提供的,您可以使用它。查看我的更新答案您可以在道具或状态中存储值,但当您刷新浏览器时,您将丢失值。LocalStorage或Cookie可帮助您在刷新或关闭浏览器后保留令牌。我注意到w3school链接指出每个浏览器都有存储限制。我想知道是否有办法提高这个限制(谷歌没有给我太多说明)。是的,存储是有限制的,这是特定于浏览器的,我不认为我们可以提高这个限制。它兼容吗?我可以将
      道具
      状态
      中的值存储到它吗?我怎样才能找回这些值呢?这与反应或角度无关,它的功能是由浏览器提供的,您可以使用它。查看我的更新答案您可以在道具或状态中存储值,但当您刷新浏览器时,您将丢失值。LocalStorage或Cookie可帮助您在刷新或关闭浏览器后保留令牌。我注意到w3school链接指出每个浏览器都有存储限制。我想知道是否有办法提高这个限制(谷歌没有给我太多的展示)。是的,存储是有限制的,这是特定于浏览器的,我不认为我们可以提高这个限制。