zoukankan      html  css  js  c++  java
  • React Router简介

    React Router简介

      React Router 是完整的 React 路由解决方案,它保持 UI 与 URL 同步,拥有简单的 API 与强大的功能例如代码缓冲加载、动态路由匹配、以及建立正确的位置过渡处理。

    react-router React Router 核心
    react-router-dom 用于 DOM 绑定的 React Router
    react-router-native 用于 React Native 的 React Router
    react-router-redux React Router 和 Redux 的集成
    react-router-config 静态路由配置的小助手

    一、安装(不需要安装 react-router,直接安装 react-router-dom 就可以了)

    1、npm install --save react-router-dom

    2、首先引入对应的模块

    import {
        HashRouter as Router,
        Route,
        Link
    } from 'react-router-dom'

    3、这三个都是标签名。

    (1)Router 表示路由包裹标签,另外2个应该放在这个标签里---标签内,只能放一个元素,一般是放一个 div 标签,然后其他标签放这个 div 标签里;

    (2)Link 表示导航标签,就是说点击这个后,会将 url 进行切换---标签是导航标签,类似 <a></a> 标签,点击后会跳转 url;

    (3)Route 表示模块标签,当当前的 url 符合 Route 标签的设置时,会将该标签显示出来---标签是路由组件标签,当 path 属性和当前 url 相同时,会自动显示 component 属性中匹配的标签(所有匹配成功的都会显示);

    二、主要组件

    1、路由器部分

    BrowserRouter:使用H5的历史记录API保持ulurl同步,需要服务器配置才可使用

    HashRouter:使用urlhash部分,保持ulurl同步适用于旧版浏览器,推荐使用BrowserRouter

    区别:hash 地址就是指 # 号后面的 url。

    假如有一个 Link 标签,点击后跳转到 /abc/def。

    BrowserRouter: http://localhost:8080/abc/def
    HashRouter: http://localhost:8080/#/abc/def

    如果有服务器端的动态支持,建议使用 BrowserRouter,否则建议使用 HashRouter。

    原因在于,如果是单纯的静态文件,假如路径从 / 切换到 /a 后,此时刷新页面,页面将无法正常访问。

    二者的替换方法很简单,我们在引入 react-router-dom 时,如以下:

    import {
        BrowserRouter as Router,
        Route,
        Link
    } from 'react-router-dom'

    将 BrowserRouter 修改为 HashRouter 就可以了,基本不需要修改其他东西。

    2、导航部分,路由跳转标签

    Link路由跳转组件其实就是a标签(toreplace)

    NavLink对比Link有更多API,更方便比如可设置路径匹配时标签的类名和样式(属性activeClassName、activeStyleisActiveexactrestrictto

    3、模块部分,路由跳转对象

    Route:由Link路由跳转到的部分pathcompoentexactstrict

    4、其他

    Redirect:适用于重定向到其他地址to

    Switch:只匹配第一个与路径匹配的RouteRedirect

    Prompt:切换路径时给出提示(message,when)

    三、主要属性

    history:历史相关信息

    location:位置信息确定来

    match:如何匹配url,支持参数传递

    四、资料

    react-router官方

    https://reacttraining.com/react-router/web/api/BrowserRouter

    react-router4相关教程

    https://www.cnblogs.com/Michelle20180227/p/10130630.html

    https://www.cnblogs.com/Michelle20180227/p/10129873.html

    BrowserRoute服务器配置

    https://www.cnblogs.com/Michelle20180227/p/10129687.html

  • 相关阅读:
    iperf使用
    性能工具--vtune
    Android广告轮播图实现
    自定义控件学习——下拉刷新ListView
    JVM读书笔记
    自定义控件学习——仿qq侧滑栏
    初步使用RecyclerView实现瀑布流
    自定义Toast
    自定义对话框加状态选择器
    自定义组合控件
  • 原文地址:https://www.cnblogs.com/Michelle20180227/p/10129515.html
Copyright © 2011-2022 走看看