【发布时间】:2026-02-22 13:55:02
【问题描述】:
MobX 对象到可观察数组
我无法将一个对象推入一个可观察数组并让它成为我可以迭代的东西。
起点(所有数据都通过控制台的日志):
if (!self.selectedGlobalFilters) self.selectedGlobalFilters = observable([])
并接受一个对象 filter.options01 作为:
Proxy {Symbol(mobx administration): ObservableObjectAdministration$$1}
[[Handler]]: Object
[[Target]]: Object
key: "status"
value: "rejected"
...然后尝试推送
self.selectedGlobalFilters.push(filter.options01)
给我:
[Proxy]
0: Proxy
[[Handler]]: Object
[[Target]]: Object
key: "status"
value: "rejected"
然后尝试将另一个对象 filter.options02 推送为:
Proxy {Symbol(mobx administration): ObservableObjectAdministration$$1}
[[Handler]]: Object
[[Target]]: Object
key: "status"
value: "done"
self.selectedGlobalFilters.push(filter.options02)
给我:
[Proxy]
0: Proxy
[[Handler]]: Object
[[Target]]: Object
key: "status"
value: "done"
所以这里基本上有 2 个问题,一个是第二次推送会覆盖第一次,但更多——所以我希望这样的数据:
[{…}]
0:
status: "rejected"
1:
status: "done"
TLDR; 我将如何实现这一目标? 以一种可以迭代的方式将一个对象推入一个可观察的数组中......
对数组进行切片对输出没有不同的影响。
一如既往地感谢所有方向,所以提前致谢!
【问题讨论】:
标签: javascript arrays mobx mobx-state-tree