这个bug真的很奇怪,报错的位置本身是有值的,但它引起了mobx的"atom“值为undefined,查找相关问题,发现需要对获取的值进行toJS处理,但是在项目代码中并未生效。查看toJS相关文档,发现toJS只对可观察的(observable)数组生效 ,所以利用mobx.isObservableObject(obj)判断获取到的变量,发现该数组不可观察,但对变量数组进行遍历判断,发现数组中的值是可观察的,因此需要额外加上recurseEverything:true(递归)属性。
这个bug真的很奇怪,报错的位置本身是有值的,但它引起了mobx的"atom“值为undefined,查找相关问题,发现需要对获取的值进行toJS处理,但是在项目代码中并未生效。查看toJS相关文档,发现toJS只对可观察的(observable)数组生效 ,所以利用mobx.isObservableObject(obj)判断获取到的变量,发现该数组不可观察,但对变量数组进行遍历判断,发现数组中的值是可观察的,因此需要额外加上recurseEverything:true(递归)属性。