我有一个计算数组,可以迭代遍历它,而不会出现诸如此类的问题:
<select>
{releaseDefault.map(ref =>
<option key={ref.id}>{ref.name}</option>
)};
</select>
我正在尝试使用autorun
autorun(() => {
console.log(releaseDefault); //value is a computed array.
});
结果:
(4) [{…}, Proxy, Proxy, Proxy]
0 Proxy[[Handler]]:Object[[Target]]:Object[[IsRevoked]]:false
1 Proxy[[Handler]]:Object[[Target]]:Object[[IsRevoked]]:false
2 Proxy[[Handler]]:Object[[Target]]:Object[[IsRevoked]]:false
3 Proxy[[Handler]]:Object[[Target]]:Object[[IsRevoked]]:false
问题:如何访问实际数组而不是上述结果? 实际可观察到的问题相同。
答案 0 :(得分:0)
我设法通过评估包含该数组的类来评估可观察数组,就像这样:
import { Map as iMap } from "immutable";
render(){
let rc = iMap(referenceClass)
console.log("Values of observables in class 'referenceClass' ",rc.toJS());
return (
...
别忘了安装不可变:
npm i immutable
如果您有更好的方法,请告诉我...
答案 1 :(得分:0)
mobx 6.2.0 自带 toJS()
,因此不需要不可变。
我不确定以前的版本
import { toJS } from 'mobx'
可以解决问题