IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 学习react的第八天 -> 正文阅读

[JavaScript知识库]学习react的第八天

学习react 的第八天 (路由重要的知识点)

路由的创建安装和使用(请务必看完)

(此代码包含的知识点 安装 导入 路由 路由的使用 和编程式导航)

import react,{Component} from 'react'
import reactDom from 'react-dom'

// react路由的应用
// 使用yarn add react-router-dom 下载路由
// ...导入
// import {BrowserRouter as Router,Route,Link}  from 'react-router-dom'
//  Route 其实就是 router-view
// Link就是router-link
import {BrowserRouter as Router,Route,Link} from 'react-router-dom'
// 这几个名字是不能随意更改的(我试过)


// 还有一种方式 HashRouter(代码不需要变动)和上面的一样不过在地址栏里面会多一个井号
class ComponentRouter extends Component{
  render(){
    // 路由
    return (
    <Router>
      {/* 不过是在路由上面包裹了一层Router */}
      {/* route有两个参数一个是component一个是path和vue一样 */}
      {/* Link 也是和vue一样  to属性 */}
      <div>
       <Route path="/a" component={RouterA}></Route>
       <Route path="/b" component={RouterB}></Route>
      </div>
    </Router>
    )
  }
}
const RouterA=()=>{
  return (<span>这是路由A</span>)
}
const RouterB=(props)=>{
  // 如果想要使用编程式导航则自身必须被设置成路由才能从props获取到history(可能说的不对但是是我自己理解的意思)
  const toa=()=>{
    // history不仅仅有push 还有go...可以打印看看和看文档
    props.history.push("/a")
  }
  return (<span onClick={toa}>这是路由B </span>)
}

export  default ComponentRouter

// 这里省略了...渲染到页面上 ReactDom.render(...,...)

路由的匹配模式 模糊匹配和准确匹配

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

// 模糊匹配模式 是路由默认的匹配模式
// 只要path="/a" 包含就会匹配成功

class DefualtRouter extends Component{
  render(){
    return (
      <Router>
        {/* 默认路由 (他有一个缺点react中的路由path匹配是模糊匹配 )结果就是不管匹配什么带/都会匹配到默认路由home */}
        <Route path='/' component={Home}></Route>
        {/* 模糊匹配 地址栏中 只要包含/b那么就会匹配到  B的组件 */}
        <Route path='/b' component={B}></Route>
        {/* 精确路由匹配 地址栏只有完全准确的时候才会匹配到此路由 给路由添加(exact)关键字就行*/}
        <Route exact path="/c" component={c}></Route>
      </Router>
    )
  }
}
const Home=()=>{
  return (<span>Home</span>)
}
const B=()=>{
  return (<span>这是B</span>)
}
const c=()=>{
  return (<span>这是C</span>)
}
export default DefualtRouter

到此为止react也快学习的差不多了

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-08 11:42:45  更:2021-10-08 11:44:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 22:49:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码