我正在使用 mobx/react 构建两个小部件,其中所有逻辑都位于商店内。两者共享大部分设计规则,因此他们的商店 95% 相同。有聪明的方法来处理这种情况吗?例如,是否可以创建这样的继承?
class Animal { 
  @observable name = "";
  constructor(name) {
    this.name = name;
  }
  @computed get sentence() {
    console.log(this.name + ' makes a noise.');
  }
}
class Dog extends Animal {
  @observable isBarking = false;
  @computed get bark() {
    if (this.isBarking){
        console.log('The dog is barking');
    }
  }
  @action
    setIsBarking(isBarking) {
    this.isBarking = isBarking;
  }  
}
您是否考虑过 MobX 状态树(https://github.com/mobxjs/mobx-state-tree)来管理您的两个类Animal和Dog?
这将为您提供强大的compose功能,可以使用它来代替继承。
这可能是对您最有用的部分:“使用类型组合模拟继承” https://github.com/mobxjs/mobx-state-tree#simulate-inheritance-by-using-type-composition
| 归档时间: | 
 | 
| 查看次数: | 7304 次 | 
| 最近记录: |