ホームページ >ウェブフロントエンド >jsチュートリアル >React-router ルーティングの簡単な分析
この記事では、特定の参考値を持つ React-router ルーティングの簡単な分析を主に紹介します。必要な友達はそれを参照してください
vue-routerルーティングの使用には慣れていますが、再度react-routerを使用するのはいつも非常に面倒に感じます。
では、vue-router のような単純なルーティング プラグインで React を使用する方法はありますか?
そこにあるかどうかに関係なく、ホイールはすでに構築されています、受け入れてください。
react-concise-router
react-concise-router
は、react-router v4.x パッケージに基づくルーティング プラグインです。 直接インストールしますreact-concise-router
是一个基于 react-router v4.x 封装的一个路由插件。
直接安装
npm install -S react-concise-router
你还需要安装
npm install -S react-router
npm install -S react-router-dom
router.js
import Router from 'react-concise-router' import Home from './views/Home' import User from './views/User' import UserInfo from './views/UserInfo' import ErrorPage from './views/Error' import view from './views/admin/view' import Dashboard from './views/admin/Dashboard' const router = new Router ({ mode: 'hash', routes: [ {path: '/', component: Home}, {path: '/user', component: User}, {path: '/user/:userId', name: 'info', component: UserInfo}, { path: '/admin', component: view, name: 'admin-view', children: [ {path: '/', component: Dashboard}, {path: '/test', component: Dashboard}, {component: ErrorPage} ] }, {path: '*', component: ErrorPage}, ] }) export default router
App.jsx
import React from 'react' import router from './router' export default class App extends React.Component { render () { return ( <p> <p>wellcome !</p> <router.view /> </p> ) } }
new Router(options) 创建路由对象,返回router。
options object 路由配置的对象
options.mode string 定义路由类型,hash|history
options.routes array 路由列表
options.routes[].name string 路由名称,如果当前存在children属性,表示路由出口名称
options.routes[].path string 路径
options.routes[].component Function 路由组件;如果当前存在children属性,表示子路由组件
options.routes[].children array 子路由列表
options.path
不存在或者为*
路由会当做notMath路由,匹配404
router.route(route) 生成url,用于history.push。
router.beforeEach(cxt, next) 路由切换中间件
<router.view />
是一个路由出口组件。
props
props.name string 路由出口子名称,默认'default';在 options.routes[].name
设置。
router.link
是一个类似于 Link
的组件。
props
props.to object|string 路径或者路径对象route。
router.beforeEach
是一个路由中间件,你可以做一些路由切换事件;比如授权拦截,重定向,等待等操作。
你应该把它定义为一个函数
router.beforeEach = function (ctx, next) {}
ctx 这个是一个上下文对象,{route, router, history,...}
next 这是一个回调函数,请在最后调用它;next
rrreeeAPI
options
options.mode
options.routes
オプション.ルート[ ].name
options.path
が存在しないことを意味します。存在するか、* です。ルートは notMath ルートとして扱われ、404🎜🎜router🎜🎜🎜🎜🎜router.route(route)🎜と一致して、history.push の URL を生成します。 🎜🎜🎜🎜🎜router.beforeEach(cxt, next)🎜 ルート切り替えミドルウェア 🎜🎜🎜router.view
🎜<router.view />
はルートですコンポーネント。 🎜🎜🎜props🎜🎜🎜🎜🎜🎜props.name🎜 文字列ルートエクスポートサブ名、デフォルトは options.routes[].name
で設定されます。 🎜🎜🎜router.link
🎜router.link
は、Link
に似たコンポーネントです。 🎜🎜🎜props🎜🎜🎜🎜🎜🎜props.to🎜 object|string パスまたはパス オブジェクト ルート。 🎜🎜🎜router.beforeEach
🎜router.beforeEach
はルーティング ミドルウェアで、認可インターセプト、リダイレクト、待機、その他の操作などのルーティング切り替えイベントを実行できます。 🎜🎜関数として定義する必要があります🎜rrreee🎜🎜🎜🎜ctx🎜 これはコンテキストオブジェクト、{ルート、ルーター、履歴、...}です🎜🎜🎜🎜🎜next🎜 これはコールバック関数です、最後に呼び出してくださいnext
は、他のルートにリダイレクトできる文字列パスまたはオブジェクトを受け入れることができます。 🎜🎜🎜🎜route🎜🎜🎜🎜🎜route.name🎜 ルート名という文字列は path🎜🎜🎜🎜🎜route.path🎜 文字列パス 🎜🎜🎜🎜🎜route.params🎜 オブジェクト ルートパラメータオブジェクト🎜🎜🎜 🎜 🎜route.query🎜 object query string object🎜🎜🎜🎜🎜route.hash🎜 string link hash🎜🎜🎜🎜 以上がこの記事の全内容であり、その他の関連コンテンツについても役立つことを願っています。 、PHP中国語ネットに注目してください! 🎜🎜関連する推奨事項: 🎜🎜🎜 React コンポーネントと状態|小道具の分析🎜🎜🎜🎜🎜 JS を使用して単純なデジタル時計を実装する方法🎜🎜🎜
以上がReact-router ルーティングの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。