我有一个场景是一次性加载大量的🚗在地图上打点;

然后通过 ws 更新"移动"的车, 从而更新地图上的点位.

ws 拿到数据并更新 redux 指定数组元素的数据已经完成了;


但是问题就是我如何在 react hooks 组件中监听差集数据呢?

--

vue pinia 的话我是这样做的

```
carStore.$onAction(({name, args}) => {
        // 业务逻辑...
})
```
举报· 91 次点击
登录 注册 站外分享
4 条回复  
chnwillliu 小成 2024-7-30 11:39:27
useSelector
webszy 小成 2024-7-30 13:40:25
参考 vue 的 dom diff 算法
iapplebear 小成 2024-7-30 13:56:20
把每次变化后的数据计算好存到 car ,car 里面有就 filter 掉,没有就 concat 。useEffect(() => { doSomething(car) }, [car])
React 的依赖更新只会处理差异数据并不是批量替换的
daolanfler 小成 2024-7-30 15:19:08
再加两个状态呗,newCars[], removeCards: []  dispatch 更新的时候把这两个状态一起更新了。如果你的地图组件是独立于 react 的,在 useEffect 里面可以增量更新移除。  
如果地图组件也是 react 的话,那更新 cars 就行,不用设置多的状态,直接交给 React 去渲染得了。
返回顶部