ルーティングソリューションを反応させます

反応-ルータ:コアライブラリのISは、ルータを反応させます

ルータ-DOM反応:ルーティングソリューションは反応し、ルータによっては、ウェブページです

反応ルータネイティブ:移動端末が反応ネイティブルーティングソリューションを解決するために、反応し、反応に応じて

以下は反応し-ルータ-DOMの使用が記載されています

ここで反応し、ルータのバージョンが5.xのです

そこに反応-router5.x使用の非常に異なるバージョンがあると反応し、router3.x

ルーティングモジュールのインストール

NPM I -S反応-ルータ-DOM

2ルーティング定義

App.jsx

画像

これは、4ページを定義します

<ルータ>、ルーティングインスタンスを定義するルーティング容器に対応

<スイッチ>タグは単一の<ルート>を一致のみルーティング可能、ルーティング含む複数の一致しません

5.xのルート経路を有し、完全に異なる3.xのを含みます

正確なルート属性と同じマッチが成功すると、厳密一致させることができます、唯一の道は、まさに、真のデフォルト値は、省略することができます

EQ:

画像

      「、ページのルートと一致する<急が>タグが存在しない場合は「/」、一致するように上から下へ順をルーティング照合されます、成功した試合になります「/」、「/」について、「/受信トレイ」/コーダ「すべての<ルート>タグは、それによって、その関連する構成要素を示します。

添加後<急が>タグ、単一のルートと一致することができ、<ルート>タグので、ここでの唯一の経路と一致=「/」は<ルート>タグ

Webページに「/」について一致が、時間やパス=「/」ルートにマッチされる場合は、それがパスする必要がある=「/」<ルート>タグの追加を許可属性れる厳密に正確なマッチング、唯一の完全なパスこれは、「/」、加算後の正確な性質は、ルーティングパスに一致しません=「/」ルートに成功したマッチと等しくなるが、経路「約」=パスにマッチします

3.ページをレンダリングするためにルーティングされます

index.js

画像

関連するコンポーネントの以下の詳細な説明

ディレクトリ構造:

画像

Dashboard.jsxウェブルートコンポーネント

画像

这里有个公共组件Header

Header.jsx

画像

<Link>标签用来进行路由跳转,默认会被渲染成a标签

About.jsx

画像

Inbox.jsx

画像

这里面嵌套了两个子路由,对应的组件分别是MessageLinkComponent和Message

其中一个是动态路由,以id值作为动态路径

获取父级路由的路径path:this.props.match.path,这里获取到的path是 ‘/inbox’

与this.props.match.url比较:

this.props.match.path获取的是纯路径,即定义好的路径  ‘/index/:id’

this.props.match.url获取的是资源的路径地址  ‘/index/123’

子路由组件:MessageLinkComponent.jsx

画像

实现子路由的跳转,并把id值当成动态路径传出

子路由组件:Message.jsx

画像

子路由跳转的内容显示

id值的获取:this.props.match.params.id

Coder.jsx

画像

定义了一个子路由,其对应的组件是CoderContent

并且定义了子路由跳转的Link,实现子路由跳转,将相关数据以键值对存放于路径中并传递出去

CoderContent.jsx

画像

通过get传值传递来的键值对用node的url模块进行解析,解析出一个以json对象保存的query对象,并将其展示在页面上

url.parse(this.props.location.search,true).query

路由模块的抽离

将路由的定义抽离成一个配置文件routesConfig.js

routesConfig.js

画像

相关页面也需要改写

App.jsx

画像

这里用三元表达式代替了if-else语句的嵌套

注意:子路由的嵌套要将component属性改写成一个render函数,这样才能将children子路由对象传递给props参数

画像

render函数是一个带props参数的箭头函数,结果返回一个react组件实例对象(jsx对象)

子どもとprops.childrenカバーの特性と同等のルーティングオブジェクトインスタンスの子供の性質をサブマウント。


ここからは、<ルート>の役割を見ることができ、タグは単に中間構成要素として機能し、最終的にレンダリングする必要があります

アセンブリをレンダリングするコンポーネントの機能属性の例は、<ルート>タグ小道具パラメータに吊りによって、関連した、表示され

たとえば、次のパス属性<ルート>最終的に反応する取得this.props.match.pathコンポーネントインスタンスに形成します


Inbox.jsx

画像

Coder.jsx

画像

画像

おすすめ

転載: www.cnblogs.com/chujunqiao/p/11834139.html