Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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
Javascript 它是什么';在会话期间使用react存储用户数据的最佳方式是什么?_Javascript_Reactjs - Fatal编程技术网

Javascript 它是什么';在会话期间使用react存储用户数据的最佳方式是什么?

Javascript 它是什么';在会话期间使用react存储用户数据的最佳方式是什么?,javascript,reactjs,Javascript,Reactjs,因此,我正在开发一个react应用程序,作为前端和后端python、Django和rest。 我将在几天内完成前面的部分,但会产生一个问题:我如何为有帐户的用户和没有帐户的用户管理我的所有应用程序 我看了几个选项,但我不知道哪一个更好: 本地存储 上下文API 饼干 例如,如果用户已连接,并且希望查看自己的个人资料页面,则他可以不获取代码,因为只有一些信息,如姓名、电子邮件等。。。 我不知道这是否足够清楚,但希望能够得到一些建议。您可以在用户首次登录时调用API获取信息,然后您可以在整个会话

因此,我正在开发一个react应用程序,作为前端和后端python、Django和rest。 我将在几天内完成前面的部分,但会产生一个问题:我如何为有帐户的用户和没有帐户的用户管理我的所有应用程序

我看了几个选项,但我不知道哪一个更好:

  • 本地存储
  • 上下文API
  • 饼干
例如,如果用户已连接,并且希望查看自己的个人资料页面,则他可以不获取代码,因为只有一些信息,如姓名、电子邮件等。。。
我不知道这是否足够清楚,但希望能够得到一些建议。

您可以在用户首次登录时调用API获取信息,然后您可以在整个会话的应用程序状态中存储信息。如果您想在会话之间存储信息,localstorage工作正常,易于访问。但是,您必须在用户登录时检查此信息是否存在。

Cookie主要用于读取服务器端,而本地存储只能由客户端读取。 另一点是保存数据,一个很大的技术区别是可以存储的数据的大小,localStorage为您提供了更多的空间


上下文API您将使用它当您使用cookie或本地存储时

上下文API可以帮助您轻松访问存储的数据,方法是在其他子组件中使用useContextreact钩子API,并通过react进行管理,但是localStorage是一种使用localStorage持久化上下文API更改的方法,可以在每次页面重新加载后将更改取回(防止页面刷新时丢失数据)。但是Cookie有一个最大长度(我不知道它是多少),这不是最好的方法,因为它有安全问题,而且Cookie的一个用例是在后端的服务器端使用它们。

好的,那么你建议我使用localstorage,好吗?因为我想在每个组件之间访问这些数据,即使它们不是孩子或父母。我知道我可以用localstorage实现,但不知道这是否是最好的方法。缓存也是一种选择。好吧,localstorage是客户端的最佳方法。你是什么意思,但“你将在处理Cookie或localStorage时使用它”就像我必须使用它一样,我无法制作没有它的应用程序?如果你使用钩子访问其他子(子子)组件中的数据,你可以使用ContextAPI。在react应用程序(使用类)中,这不是强制性的,只是最后一个问题!我必须现在就做,否则我可以在每次工作之后使用上下文API设置localStorage?如果您拥有整个视图,建议您在启动项目时设置绑定。这还取决于您的用例:DOk所以您都建议我使用localStorage,对吗?有了上下文API,我就有了安全和干净的东西。最重要的是我可以随时访问数据,对吗?所以我要试试看!