现象:通过redux中的hooks – useSelector 获取store中的数据时,只要store中的数据发生了改变,即使组件中并没有获取修改的数据,组件也会进行重新渲染。
原因:是因为useSelector中默认使用的是 === 来判断两次获取的数据结果是否相同, 如果我们返回的是一个新对象(如果返回的是基本数据类型,则不存在该问题),那么每次比较结果都为false,导致了很多不必要的re-render。如下:
const _obj = useSelector((store: any) => ({
aaa