首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从mobx导入装饰

无法从mobx导入装饰
EN

Stack Overflow用户
提问于 2020-10-20 09:48:28
回答 2查看 4.1K关注 0票数 6

尝试导入错误:'decorate‘不是从'mobx’导出的。我的mobx版本是6.0,我试着把包从mobx改成mobx-react,mobx-react-lite,mobx-decorate.But,但还是不能解决。

提前感谢

Screenshot

EN

回答 2

Stack Overflow用户

发布于 2020-10-20 16:27:26

decorate接口在MobX 6中已被移除,需要在目标类的构造函数中替换为makeObservable。它接受相同的参数。

示例:

代码语言:javascript
复制
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,你甚至不需要使用装饰器:

代码语言:javascript
复制
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
    }
}

更多信息请点击此处:

https://mobx.js.org/react-integration.html

https://mobx.js.org/migrating-from-4-or-5.html

票数 10
EN

Stack Overflow用户

发布于 2020-10-20 10:40:35

我一直在使用mobx,我可以导入装饰。我的mobx版本是5.9.4

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64437377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档