私はreact-router v4
を使用しています。 <Link>
コンポーネントをクリックすると、ルートがただちに変更されることがわかります。私はデータをフェッチする前に現在のルートに留まり、ルートを切り替えずにデータをフェッチします。 react-router v3
にはonEnter
フックがありますが、現在はreact-router v4
になっていますが、廃止予定です。では、<Link>
コンポーネントをクリックした後、ルートが変更される直前にデータを取得するにはどうすればよいですか?反応ルータv4のonEnter小道
例:
それはです:A
で - - >B
のためのデータをフェッチする - >B
ないレンダリング><Link> to B
でクリックしてください:A
で - ><Link> to B
でクリック - >Route B
をレンダリング - >B
のデータを取得する - >再レンダリングB
私はonEnterを置き換えるつもりはありませんでした。たとえば、コードでgetData()は1秒以上かかることがあります。ただし、データが返される前に が返されます。あなたは{Home}にいて、データを待っています。私がしたいのは、 をレンダリングしてデータを取得し、次に{Home}に切り替えることです。 –
@ONIAKI、残念ながらv4にはそのような機能はありません。 Githubの議論にはいくつかのアプローチがあります。データを取得するためのライフサイクルフックを使用することをお勧めします。 –
それは静かで混乱します。私は彼らの哲学を理解していますが、ユーザーと対話するためのいくつかの方法をブロックしています。 Em ...私はvue.jsを使用しており、vue-routerは私が言うことを正確に行うことができます。たぶん、私は良い解決策を見つける前に、反応ルータv3に切り替えることを検討する必要があります。 –