gpt4 book ai didi

javascript - Mobx 监听一个值的变化与计算不起作用

转载 作者:行者123 更新时间:2023-11-29 11:01:09 24 4
gpt4 key购买 nike

我正在尝试使用 mobx 计算表达式来监听值的变化,但是当我将新值推送到观察到的表达式时,我没有看到任何变化。

class List {
@observable values = [];

constructor() {
computed(() => this.values).observe(changes => {
console.log(changes);
})
}


add(item) {
this.values.push(Math.random());
}

}

const list = new List();
list.add();

为什么它不起作用?

最佳答案

请注意,computed 只会跟踪它实际访问的数据。在您的计算中访问的唯一数据是 changes,一个指向数组的指针。将新值推送到该数组不会更改指针。

记住:计算产生值, react 和自动运行产生副作用。

您的计算永远不会产生新值,因此永远不会触发观察者

关于javascript - Mobx 监听一个值的变化与计算不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46805126/

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