私はMobXを模索していて、問題に興味をそそら行きました:私は、この観測可能を持っている場合はMobXの自動実行動作
:その後、
class ItemsStore {
@observable items = [1,2,3];
}
const store = new ItemsStore;
とこのようにそれを変更します。
setInterval(() => {
store.items[0] = +new Date
}, 1000)
I以下に気付いた:
autorun(() => console.log(store.items));
never fires...autorun(() => console.log(store.items[0]));
fires every 1s and gives a new valueautorun(() => console.log(store.items.length));
fires every 1s although value is unchanged
この背後にあるAPIのロジックとは何ですか? store.items
は決して発火しないので、そのは変更されていないプロパティが同じように動作することを期待しています。
MobXはどのようなコードがコールバック内にあるのか、どうして分かりますか?私はautorun
に私のコールバックを分析しているのですか?
**だけドス・アレイが自動実行で観測されたが、また、TODO項目内の個々のプロパティされていません* *配列内の項目が積極的に値を表示しているか、または他の計算に値を使用しているかどうかを推測します。自動実行します.Else、これは問題ありません。ドキュメントを処理する上で素晴らしい説明があります.https: /mobxjs.github.io/mobx/getting-started.html – pritesh