MobX 中 observable 数组 push 后视图不更新怎么办?
我用 MobX 管理一个列表数据,声明了 @observable list = [],然后在 action 里用 this.list.push(item) 添加新项,但 React 组件没重新渲染。明明控制台打印能看到数组变了,就是 UI 不动,这咋回事?
我试过改成 this.list = [...this.list, item] 就能更新,但这样感觉违背了 MobX 的响应式理念啊。是不是 push 操作没被正确追踪?
东方可慧
Lv1
改成这样试试:有时候 push 操作确实会被忽略,用 runInAction 包一下就能强制 MobX 追踪到变化了。别问为啥,这就是 MobX 的小脾气,忍着吧。
点赞
2026-03-27 18:10