【发布时间】:2021-02-02 19:43:51
【问题描述】:
尝试导入错误:“装饰”未从“mobx”导出。 我的 mobx 版本是 6.0,我尝试将包从 mobx 更改为 mobx-react、mobx-react-lite、mobx-decorate。但仍然无法解决。
提前致谢
【问题讨论】:
-
请不要上传图片,如果可能的话在这里粘贴错误和代码。
标签: node.js reactjs decorator mobx
尝试导入错误:“装饰”未从“mobx”导出。 我的 mobx 版本是 6.0,我尝试将包从 mobx 更改为 mobx-react、mobx-react-lite、mobx-decorate。但仍然无法解决。
提前致谢
【问题讨论】:
标签: node.js reactjs decorator mobx
decorate API 已在 MobX 6 中移除,需要在目标类的构造函数中替换为 makeObservable。它接受相同的参数。
例子:
import { makeObservable, observable, computed, action } from "mobx"
class Doubler {
value
constructor(value) {
makeObservable(this, {
value: observable,
double: computed,
increment: action
})
this.value = value
}
get double() {
return this.value * 2
}
increment() {
this.value++
}
}
还有新的东西makeAutoObservable,你甚至不需要使用装饰器:
import { makeAutoObservable } from "mobx"
class Timer {
// You don't even need to use decorators anymore
// property automatically becomes observable
secondsPassed = 0
constructor() {
// Call it here
makeAutoObservable(this)
}
// And this one automatically becomes an action
increaseTimer() {
this.secondsPassed += 1
}
}
更多信息在这里:
【讨论】:
我一直在使用 mobx,我可以导入装饰。我的 mobx 版本是 5.9.4
【讨论】: