为什么 Redux 改变了 State,界面却未刷新

本期前端小知识介绍的是 React 中很多新手会犯的点。

小知识

在真实开发环境中,我们在 Redux 中存储的数据必然是很复杂的,多层结构比比皆是。如果在操作多层结构时一个不当,就可能会发生数据确实改变了,但是界面却未刷新。

首先这个问题确实是 React 导致的,因为 React 为了性能考虑,默认只对新接收到的数据和旧数据做浅比较。

为了解决这种问题,对于对象我们可以使用 Object.assign(),对于数组可以使用 slice,concat 等等。也就是说,我们只需要返回一个新的对象,这样就可以出发 React 的重复刷新了。

结尾

如果你看了文章还有任何的疑惑,都可以留言提问,我都会一一解答。

前端小知识,每天学一点。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180120G0RNQQ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券