gpt4 book ai didi

javascript - Mobx 计算不工作

转载 作者:行者123 更新时间:2023-12-04 01:56:10 26 4
gpt4 key购买 nike

我正在使用 mobx 4.2.0
当我尝试使用计算属性时,我遇到了一些问题
像这样的代码:

class ODOM {
constructor(props) {
console.log('how many times')
}
@observable speed = 0
@action change(obj) {
console.log(obj)
Object.keys(obj).forEach(item => {
this[item] = obj[item]
})
}
@computed get velocity() {
console.log('entry')
return this.speed*60*60/1000
}
}
const model = new ODOM()
let total = 0
setInterval(() => {
model.change({
speed: ++total
})
}, 3000)
export default model


控制台“入口”只运行一次
这些代码有什么问题

最佳答案

必须观察您的计算结果,以便在它所依赖的可观察对象发生变化时重新计算它。

This example使用 autorun显示行为:

class ODOM {
@observable speed = 0

@action change(obj) {
Object.keys(obj).forEach(item => {
this[item] = obj[item]
})
}

@computed get velocity() {
console.log('entry')
return this.speed*60*60/1000
}
}

const model = new ODOM()
let total = 0
setInterval(() => {
model.change({
speed: ++total
})
}, 1000);

autorun(() => {
console.log(model.velocity);
});

关于javascript - Mobx 计算不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50500435/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com