可以解构useSelector

来源:8-10 【redux封装】在函数式组建中使用react-redux

袁门弟子

2023-09-14

可以这样用一个对象来整体return state,然后解构出来

https://img.mukewang.com/szimg/6502e12709f6d60308090141.jpg

本来觉得可能这样解构state会有状态‘失活’的问题,但是想了一下,react和vue不同,不是数据监听形式。

而是单向数据模式,即:通过setState(或useState的状态修改器),修改数据之后,就会更新到redux中,redux会重新rerender,然后重新执行useSelector,重新产出新的state状态。

但是vue就不行了,vue是数据监听,即数据本身是‘被处理过的’,并非普通数据,如果解构,应该是相当于重新拷贝数据内存地址,只是值是同样的,而失去了数据监听特征,所以会造成‘失活’。


总结来说:react中的状态数据就是简单的数据,react触发rerender是依赖setState或者useState的状态修改器。而vue的rerender是依赖数据监听。所以vue在做状态处理的时候尤其要注意,是否会“失活”。

框架对比来看就会发现他们的不同,哈哈

写回答

1回答

阿莱克斯刘

2023-09-17

非常有道理,理解得已经相当深入了
2
1
袁门弟子
斜斜夸奖喔!
2023-09-17
共1条回复

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

1993 学习 · 1015 问题

查看课程