Web Cookie和本地存储之间有什么区别?

时间:2020-07-19 06:39:57

标签: javascript reactjs cookies redux local-storage

在react js项目中,有多种存储数据的方法。

1。结合使用redux状态管理和redux可以将数据永久存储在浏览器中。

2。通过使用setter和getter来使用Web浏览器的本地存储。

3。使用网络Cookie。

我想知道所有这些方式在存储数据和何时使用什么方式存储数据之间有什么区别?

1 个答案:

答案 0 :(得分:1)

您的问题中的陈述有些不准确。回复:1-Redux不会在浏览器中永久保存数据。这实际上是localStorage,Cookie和本地数据库的作用。

但是考虑到这种校正,这是一个很好的问题。

  1. redux状态是最“活跃”的状态。目的是让您应用中的组件能够访问“单一真相”。它直接将数据存储在JS的内存中。您的组件可以快速访问和更新它,而无需任何介质(例如本地存储),这就是为什么它方便使用的原因。

  2. 本地存储确实可以将数据永久存储在浏览器中。但是,为了保持数据同步,对其进行读取和写入会花费额外的时间和负担,因为您无法与其进行同步交互,因此它不是用作组件主要数据源的最佳选择。但是,最好在应用程序初始化过程中补充一些数据(例如,您可以在其中存储JWT令牌,然后在应用程序加载时将其合并到redux存储中-这是一种常见的模式)

  3. Cookie并不是广义上存储信息的好地方。它是一个占位符,用于存储一些特定于会话的标识符,以将它们传达给您的后端。请查看此以获得更多信息:https://medium.com/datadriveninvestor/cookies-vs-local-storage-2f3732c7d977#:~:text=Differences%20between%20cookies%20and%20localStorage&text=Cookies%20are%20mainly%20for%20reading,you%20more%20to%20work%20with