序文として、私はまだReactを初めて使っています。ReactJS小道具で新しいデータを取得する
私が持っているのは、HTMLテーブルをレンダリングするためにデータを取得するコンポーネントです。だから私はfetchData()
(ブラウザのfetch()
APIを使用する)をcomponentWillMount()
から呼び出す。これにはストア変更のリスナーもある。これはすべて正常に機能し、データを取得してレンダリングすることができます。
今すぐ次の手順。私は、コンポーネントの小道具が更新されたときに新しいデータを取得できるようにしたい。しかし、私はそれを行うための正しい方法が何であるか正確にはわかりません。だから私は、3つの部分質問
- を持って新しい小道具に私
fetchData()
を行うための適切な場所はもちろん、小道具は、変更をしたことを検証した後、componentWillReceiveProps()
になりますか? - 私のAPIはかなり遅いので、フェッチがまだ実行されている間は、新しい小道具が入ってくる可能性があります。古いフェッチをキャンセルして新しいフェッチを開始することは可能ですか、または少なくとも元の結果を無視して新しいフェッチの結果を待つロジックを実装することは可能ですか?
- 上記の質問に関連して、私のアクションの状態(または他の場所)に
isLoading
ブール値のようなものを持っているだけで、いつでもフェッチが確実に実行されるようにする方法がありますか?
[This](https://stackoverflow.com/questions/31723095/how-to-wait-for-ajax-response-and-only-after-that-render-the-component)は関連性があります。 – Igorsvee