如何从 mobx 对象中获取普通对象?

How to get a plain object from mobx object?

我定义了一个 mobx 映射如下:

@observable editors = observable.map();

然后我在 editors 上添加对象如下:

  editors.set(key, {
    alias: 'alias-1',
    message: 'hello',
  })

当我从 editor 获取对象时,如下所示:

  let myEditor = editors.get(key)

返回的对象myEditor有一些内置函数,例如:

$mobx:ObservableObjectAdministration
get alias:function ()
set alias:function ()
get message:function ()
set message:function ()

我想知道如何从 editor 得到一个普通的 javascript 对象?

您可以使用 toJS.

例子

class MyStore {
  @observable editors = observable.map({});
}

const myStore = new MyStore();

myStore.editors.set('example', {
  alias: 'alias-1',
  message: 'hello'
});

console.log(toJS(myStore.editors));