更改redux 数据,页面未重新渲染

简介: 更改redux 数据,页面未重新渲染

场景


在reducer中使用 object.assign(state,{data:xxx}) 合并了状态,控制台打印state 数据已更新,但是页面未重新渲染

原因

redux会通过引用来判断前后两次state有没有变化。return原来的state的话redux会认为你的state没有变化。

咱们用Object.assign(state,xx)是直接修改了state对象,然后返回的还是原来的state对象(被修改过的数据)但是引用未更改,还是同一引用源。

解决

使用而扩展符则是创建了一个新的对象,相当于Object.assign({},state,...)

注意:不要在reducer里面做以下操作
1、修改传入参数;
2、执行有副作用的操作,如 API 请求和路由跳转;
3、调用非纯函数,如 Date.now() 或 Math.random()。

相关文章
|
JavaScript
Vue中v-if失效问题(数据更新,页面没有发生变化)
Vue中v-if失效问题(数据更新,页面没有发生变化)
Vue中v-if失效问题(数据更新,页面没有发生变化)
|
JavaScript
|
3月前
|
JavaScript
vue 页面刷新、重置、更新页面所有数据
vue 页面刷新、重置、更新页面所有数据
|
5月前
|
JavaScript 前端开发 UED
(详解错误情况,及解决方法)Vue 数据更新了但页面没有更新的情况
(详解错误情况,及解决方法)Vue 数据更新了但页面没有更新的情况
96 0
|
5月前
|
JavaScript
vue开发过程中,修改了数据,但是页面死活不渲染改变!没变化!怎么办?6种方法解决~
vue开发过程中,修改了数据,但是页面死活不渲染改变!没变化!怎么办?6种方法解决~
|
5月前
|
JavaScript
vue 改变数据后,数据变化页面不刷新
vue 改变数据后,数据变化页面不刷新
50 0
|
6月前
|
小程序 JavaScript
小程序 observers--组件访问页面钩子
小程序 observers--组件访问页面钩子
167 1
|
9月前
|
JavaScript API
vue数据更新但不改变视图,解决办法?
开发过程中会碰到数据更新,但是视图并未改变的情况,情况如下
417 0
|
9月前
|
JavaScript 前端开发 索引
Vue 改变数据,页面不刷新的问题
Vue 改变数据,页面不刷新的问题
127 0
|
9月前
|
前端开发
react中子组件的数据更新视图未更新解决
react中子组件的数据更新视图未更新解决
168 0