微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法从Mobx导入装饰

如何解决无法从Mobx导入装饰

尝试的导入错误:“装饰”未从“ mobx”导出。 我的mobx版本是6.0,我试图将软件包从mobx更改为mobx-react,mobx-react-lite,mobx-decorate。但是仍然无法解决

谢谢enter image description here

解决方法

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
    secondsPassed = 0

    constructor() {
        // Call it here
        makeAutoObservable(this)
    }

    increaseTimer() {
        this.secondsPassed += 1
    }
}

此处有更多信息:https://mobx.js.org/react-integration.html

,

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。