あたりのAJAX呼び出しを行う、私は次のように私のルートを設定している:は、ルータを反応 - 一度だけコンポーネント
<Router>
<Switch>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/contact" component={Contact} />
</Switch>
</Router>
私はAJAX呼び出しに搭載されている唯一の拳の時間を作りたいホームコンポーネントに。
export default class Home extends Component {
componentDidMount(){
//make ajax call only once. Do some stuff on .then()
}
}
問題は、ユーザーがホーム〜約ページを切り替えた場合、ホーム成分を返すが、それゆえ私のAJAX呼び出しが再びトリガされ、再び、すべてをレンダリングすることです。
どうすればこの問題を解決できますか? 最初のデータフェッチをreduxストアに格納してから、if文を使用するか、より良い方法がありますか?
データをキャッシュしたり、約束を返すことができます。約束が解決されると、データにアクセスできます。 IF文は必要ありません。 – Mike
キャッシュここで?店舗で?ローカルストレージ?可能であれば、サンプルを追加してください –
reduxストアに最初のデータフェッチを格納し、if文を使用する必要がありますか?> reduxを使用している場合は、最良のアプローチです。 –