react-routerのpush時に遷移先コンポネントにpropsを渡したい


※結論から言うとpropsを渡すことはできないが代替策はある.


例えば, すでに遷移先で描画するためのデータを現在のページで持っている場合はそれを利用して描画を行い, 足らないデータを遷移後取得して更新したい.

こんなユースケースがあると思う.

そういう時は

push({
  pathname: '/users/1',
  state: { profile: { id: '1', name: 'PyYoshi', bio: 'Uooo', iconURL: 'http://example.com/icon.jpg' } }
});

というように stateにオブジェクトを渡してあげる.

そうすると props.location.stateに渡したオブジェクトが格納されている.

これを利用すれば上記ユースケースへの対応を行うことができる.

参考