Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建一个单态可观察对象?_Javascript_Reactjs_Singleton_Observable_Mobx - Fatal编程技术网

Javascript 如何创建一个单态可观察对象?

Javascript 如何创建一个单态可观察对象?,javascript,reactjs,singleton,observable,mobx,Javascript,Reactjs,Singleton,Observable,Mobx,我有一个单身班: let instance = null; class SingletonClass { constructor() { if (!instance) { instance = this; } return instance; } get types() { return this._types; } set types(value) { this._types = value; }

我有一个单身班:

let instance = null;
  class SingletonClass {
    constructor() {
      if (!instance) {
        instance = this;
      }
     return instance;
  }
  get types() {
    return this._types;
  }
  set types(value) {
    this._types = value;
  }
}
export default SingletonClass;
我是这样用的:

import SingletonViews from './SingletonClass';
export default class MyStore {
    this._singletonClass = new SingletonClass();
    @observable types;
    this.types= this._singletonClass.types; //i dont know what to do here to bind this two together
}
但是只要
this.\u singletonClass.types
更新了可观察的
类型
就不会。我能怎么办? 我可以拥有一个
@observable singleton
吗?或者我可以将它的属性绑定到一个
@observable

你的“singleton”本身不是一个observable,你的意图是什么?只是代理单例值

既然您似乎不需要初始化您的单例,我就这样重写它:

单身人士

import * as mobx from 'mobx'

const {observable, action} = mobx

class SingletonClass {
  @observable types

  @action setTypes (value) {
    this.types = value;
  }
}


export default new SingletonClass()
MyStore

import singletonClass from './SingletonClass'

export default class MyStore {
  singletonClass = singletonClass
}
现在你可以在应用程序中的某个地方使用你的商店,观察你的单身生活