私は NGXS を初めて使用し、ドキュメントを完全に理解しようとしているので、自分が何をしているのかを理解して使い始めることができます。
ここからのこのコード スニペットで理解できないことが 1 つあります。
export class ZooState {
constructor(private animalService: AnimalService) {}
@Action(FeedAnimals)
feedAnimals(ctx: StateContext<ZooStateModel>, action: FeedAnimals) {
return this.animalService.feed(action.animalsToFeed).pipe(tap((animalsToFeedResult) => {
const state = ctx.getState();
ctx.setState({
...state,
feedAnimals: [
...state.feedAnimals,
animalsToFeedResult,
]
});
}));
}
}
このコードのすぐ下に、次のように書かれています。
Observable を返し、タップしただけであることに気付くかもしれません。Observable を返すと、フレームワークが自動的にそれをサブスクライブするので、自分で処理する必要はありません。さらに、操作が完了したときにのみ店舗ディスパッチ関数を完了できるようにする場合は、それを返す必要があります。
フレームワークは にサブスクライブしthis.animalService.feed
ますが、なぜですか?