アプリ内ルートに常にリダイレクトしている場合、Redirect
の反応ルータドーム(v4)のコンポーネントとthis.props.history.push()
の違いは何ですか?Reactでは、this.props.history.pushを使用するより常にリダイレクトをレンダリングする方が良いですか?
など。ユーザーが指定したタイトルをURLに追加し、/foo/123
から/foo/123/some-title
(いずれも同じRoute /コンポーネントで表示されます)にリダイレクトしたいとします。
私はRedirect
の状態で渡します。これはどこに終わるのですか?
状態にリダイレクトする場所を指定するのは反パターンですか?なぜ、このようなコード例を見ない:それはあなたが、それはいくつかを提供しませんがページを変更するためにコンポーネントをレンダリングするために持っていることを一種の直感に反するよう
save() {
this.setState({ redir: '/new-path'; });
}
...
render() {
if (this.state.redir) {
return <Redirect to={this.state.redir} />;
}
...
}
あなたのコンポーネントを 'withRouter'でラップすることで、任意のレベルの階層でルータのpropsにアクセスすることができます –
@ShubhamKhatri true、HOCとして' withRouter'を使用したコンポーネントがプッシュだけの履歴を使用する限り、問題ではない。私の場合、私は 'withRouter'を使ったコンポーネントから' match'にアクセスしようとしました。私が望む結果を得られませんでした。 – Maru
リダイレクトはhistory.pushをフードの下で使用しますか?理想的な行動の違いを知りたい。 –