类主体中声明的变量在TypeScript和MobX中的函数中未定义

类主体中声明的变量在TypeScript和MobX中的函数中未定义,typescript,mobx,mobx-react,Typescript,Mobx,Mobx React,我正在用MobX和TypeScript编写一个简单的计数存储,因为我在使用JavaScript时遇到了一些问题。这是完整的代码: import{observable,autorun,computed,action}来自“mobx”; 类CountStore{ @可观察 计数:数字=0; 构造函数(){ 自动运行(()=>console.log(“Count:,this.Count)); } @计算 获取getCount(){ 返回这个.count; } @行动 增量(){ 这是1.count+=

我正在用MobX和TypeScript编写一个简单的计数存储,因为我在使用JavaScript时遇到了一些问题。这是完整的代码:

import{observable,autorun,computed,action}来自“mobx”;
类CountStore{
@可观察
计数:数字=0;
构造函数(){
自动运行(()=>console.log(“Count:,this.Count));
}
@计算
获取getCount(){
返回这个.count;
}
@行动
增量(){
这是1.count+=1;
}
@行动
减量{
这是1.count-=1;
}
}
导出默认的新CountStore();
增量
减量
在组件中导入,并在单击按钮时执行

从“React”导入React;
从“mobx react”导入{observer};
从“antd”导入{Button};
从“/store/CountStore”导入CountStore;
导入“antd/dist/antd.css”;
const-App:React.FC=观察者(()=>{
返回(
+
{CountStore.getCount}
-
);
});
导出默认应用程序;
问题是,单击时,我收到以下错误:

TypeError:无法读取未定义的属性“count”

指向

16 |@action
17 |增量(){
>18 | this.count+=1;
19 | }

未附加到函数,由调用上下文引入。您可以使用
@action.bound
修复它:

  @action.bound
  increment() {
    this.count += 1;
  }

  @action.bound
  decrement() {
    this.count -= 1;
  }
更多 Mobx文档: