異なるパスに移動するには、
this.props.router.push('/some/path')
ナビゲーション時にパラメータ (オブジェクト) を送信する方法はありますか?
他にも考えられる選択肢はありますが、合格object
できるかどうかは疑問です。
オブジェクトの ID を埋め込み、新しいページからサーバーからオブジェクトを再取得することができました。
または、オブジェクトを redux ストアのようなグローバル ストレージに保存することもできます。(このオブジェクトはすぐにストアから削除する必要があります。そのため、そもそもそこに置くのは良くないのではないかと考えています)
ベストアンサー1
現在の回答は古くなっています。
リアクトルーター6:
フックを使用しますuseNavigate
:
const navigate = useNavigate();
navigate('/other-page', { state: { id: 7, color: 'green' } });
次に、フックを介して '/other-page' の状態データにアクセスできますuseLocation
。
const {state} = useLocation();
const { id, color } = state; // Read values passed on state
Reactルーター4または5:
history.push を呼び出し、状態を渡すための 2 番目のパラメータとしてオブジェクトを渡します。
props.history.push('/other-page', { id: 7, color: 'green' }))
次に、次の方法で '/other-page' の状態データにアクセスできます。
props.location.state