如何解决错误:[MobX] 无法将“observable”应用于“Store@user”:找不到字段
我有一家商店:
class Store {
user!: User;
constructor() {
makeObservable(this,{
user: observable,setUser: action
});
}
setUser = (user: User | undefined) => this.user = user;
}
我收到此错误:
Error: [MobX] Cannot apply 'observable' to 'Store@user': Field not found.
User
是自定义对象,我应该区别对待他吗(可观察的明智)?
提前致谢!
解决方法
By default make(Auto)Observable
仅支持已定义的属性,因此您需要在构造函数中定义 user
或使其可以为空:user: User | null = null
。
或者,您可能想尝试重新配置 how class properties initialisation works,使用 useDefineForClassFields
TS 编译器标志:
"compilerOptions": {
"useDefineForClassFields": true
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。