ホームページ  >  記事  >  ウェブフロントエンド  >  React Router v4 でカスタム Props を Router コンポーネントに渡す方法は?

React Router v4 でカスタム Props を Router コンポーネントに渡す方法は?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-30 14:27:03598ブラウズ

How to Pass Custom Props to Router Components in React Router v4?

React Router v4 の Router コンポーネントにカスタム プロパティを渡す

React Router で React アプリケーションを構築する場合、多くの場合、カスタム プロパティを渡すことが必要になりますルーティング ツリー内の子コンポーネントに接続します。 React Router v4 では、this.props.route が常に利用できるとは限らないため、ルーターを介して渡される props にアクセスすると課題が生じる可能性があります。

この問題に対処する 1 つのアプローチは、Route コンポーネントの render props を利用することです。 。これにより、個別のコンポーネント ファイルを必要とせずに、コンポーネント定義のインライン化と便利なレンダリングが可能になります。

React Router のドキュメントによると、Route のレンダー プロパティは、コンポーネントのレンダー プロパティと同じルート プロパティを受け取ります。したがって、次のように Route 定義を変更することでカスタム props を渡すことができます:

<Route path="/" exact render={(props) => (<Home test="hi" {...props}/>)} />

子コンポーネント (Home) 内で、カスタム props には this.props.test:

経由でアクセスできます。
this.props.test 

デフォルトのルータープロパティ (場所、履歴、一致など) も子に確実に渡されるように、ルート定義で {...props} スプレッド演算子を使用する必要があることに注意することが重要です。

レンダー プロパティを活用することで、開発者は React Router v4 の子ルーター コンポーネントにカスタム プロパティを簡単に渡すことができ、ルーティング アーキテクチャの柔軟性と保守性が向上します。

以上がReact Router v4 でカスタム Props を Router コンポーネントに渡す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。