[解決済み] react-router-domのwithRouterは何のためにあるのですか?
2022-03-14 03:02:28
質問
私は
時々見かける
でコンポーネントを包んでいます。
withRouter
をエクスポートするときに使用します。
import { withRouter } from 'react-router-dom';
class Foo extends React.Component {
// ...
}
export default withRouter(Foo);
これは何に使うのか、どんなときに使うのか?
どのように解決するのですか?
アプリにメインページコンポーネントを含める場合、多くの場合、そのコンポーネントは
<Route>
コンポーネントを使用します。
<Route path="/movies" component={MoviesIndex} />
こうすることで
MoviesIndex
コンポーネントは
this.props.history
でユーザーをリダイレクトすることができます。
this.props.history.push
.
一部のコンポーネント(一般的にはヘッダーコンポーネント)は、すべてのページに表示されるため
<Route>
:
render() {
return (<Header />);
}
これは、ヘッダーがユーザーをリダイレクトできないことを意味します。
この問題を回避するために、ヘッダーコンポーネントを
withRouter
関数がエクスポートされるときに、どちらか一方を使用します。
export default withRouter(Header)
これは
Header
コンポーネントにアクセスすることができます。
this.props.history
で、これはヘッダーがユーザーをリダイレクトできるようになったことを意味します。
関連
-
[解決済み] マテリアルUIセレクトフィールドのマルチセレクト
-
[解決済み] jest: テストスイートの実行に失敗しました。予期しないトークンのインポート
-
[解決済み] React Router - バージョン更新後のwithRouterでTypescriptエラーが発生する。
-
[解決済み] create-react-appビルドスクリプトを実行する際に、ビルド.env変数を設定するには?
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] Reactのこの3つの点は何をするところなのでしょうか?
-
[解決済み] React-routerのURLを更新したり、手動で書き込んだりするとうまくいかない
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み】Reactの機能的なステートレスコンポーネント、PureComponent、Component、どのような違いがあり、いつ何を使うべきですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] React テキストを挟んだ横長の仕切りを作る
-
[解決済み] ReactJS giving error Uncaught TypeError: Super expression は null か関数でなければならず、undefined ではありません。
-
[解決済み] SVGサークル内の画像にボーダーを追加する方法
-
[解決済み] Next.jsでWebSocketを利用する
-
[解決済み] Webpack + Babelです。プリセット "es2015 "がディレクトリに相対して見つからなかった
-
[解決済み] 非必須項目に対するYupバリデーション
-
[解決済み] Static HTML elements with event handlers require a role." を修正するにはどうすればよいですか?
-
[解決済み] 拡張子.tsと.tsxの違いは何ですか?どちらもreactのタイプスクリプトファイルの拡張子として使用されます。では、どこで使うべきなのでしょうか?
-
[解決済み] create-react-appビルドスクリプトを実行する際に、ビルド.env変数を設定するには?
-
[解決済み] React」は定義される前に使用されていた