关于react数据缓存的问题

#1

我现在是用react和react-redux 搭建一个个人的博客.现在遇到了一些疑惑,希望大家能给点思路…
在后台管理页面中,我想的是能够把我的数据用redux给缓存起来…比如我设置一个tag的reducer,当我第一次我数据里面没有tag数据,那么我将发送ajax从后台拿到数据保存在redux里面,当我跳转到另外一个页面的时候,如果也需要tag的数据,那么我直接从redux里面取得数据,不用在发请求给后台.
那么现在问题是,这样的方法,值实际开发中需要这么做吗(本人大三,没有任何的工作经验,所以不清楚),其次就是,如果我要添加这一层逻辑,那么我是添加在哪里?在actionCreactor里面实现如何?或者有什么更好的建议…
谢谢

#2

localstorage
每次刷新页面的时候 reducers 中对应的默认值设置为 从localstorage 中拿数据。每次更新的时候 往 localstorage中更新一下

#3

好的,谢谢了…我大概知道该怎么做了

#4

这叫知道了?你这叫缓存?回答的也叫办法?我去

#5

因为我看了他的回答,大概有了思路,同时觉得我的猜想是正确的,因为我刚开始也是这样想的,只是不知道对不对,所以我认为解决了。。如果你有更好的想法,或者有其他建议也可以说。。个人对提问题的看法,如果提出问题是为了让别人手把手回答你,然后写个demo给你展示,那根本得不到提升,我想要的是你们作为过来人的思路或者一些自己的经验了帮助我,而不是不是帮我写代码

#6

sorry,你这只是缓存在内存中,页面一刷新数据就会丢失,这个意义不大,实际开发中,一般看页面数据需求量大不大,大的话可以从后台拿,然后往浏览器缓存里面放,redux再从浏览器缓存里读到内存中,这样的缺点就是数据实时性无法保证,对于对数据实时性要求较高的一些数据操作请不要考虑缓存。redux个人理解就是一个全局状态管理的东西,我觉得他主要是用来解决跨组件通信的问题,如果你把所有页面要的数据往redux里面放也不是不可以,对于不频繁刷新的单页面应用来说性能还是有提升的

#7

我就是不知道,这样使用好不好,我现在的想法是,比如现在需要请求tag信息,如果redux里面没有的话,那么我发请求获取到数据,然后把数据用redux存在内存里面,当我再次想要tag的时候,判断redux里面是否有数据,如果有数据我就直接获取,这样可以节约很多的重复的http请求.其次就是不用session storage ,我个人的看法,如果用了redux的话我可以通过刷新就可以重新获取数据,这样就避免了重新开页面来清楚本地的缓存

#8

你其实有两个需求:

  1. 全局状态管理-切换页面(或者路由)不丢失数据
  2. 数据缓存,数据已经请求到之后,下次再请求时,如有缓存直接用缓存
#9

建议了解下 redux-persist

1 Like