こんにちは、私はストアで MobX を使用しており、計算値が変更されたときに非同期反応が必要です。
class Store {
@observable user;
@observable something;
@computed get firstParam () {
return this.user && this.user.params[0];
}
async loadSomething () {
reaction(
() => this.firstParam,
async (param) => {
const { data: something } = await axios.get(`url/${param}`);
runInAction('update state after fetching something', () => {
this.something = something;
});
}
);
}
}
実行中の状態とは別に、when
代わりに使用すると、ここで何が違うのだろうと思っていましたか?reaction
when(
() => !!this.firstParam,
async () => {
// fetch using this.firstParam
}
)