React-Router入门使用

简介: React-Router入门使用

React Router 是一个基于React之上的强大路由库,它可以让你向应用中快速地添加视图和数据流,同时保持页面与URL间的同步。

React路由跳转

制作一个平常一样的点击切换路由效果,首先需要安装cnpm install react-router-dom

  • 创建一个根目录AppRouter.js,并仰引入react-router-dom,在创建两个js组件
import React, { Component } from 'react'
import { BrowserRouter as Router, Route, Link } from 'react-router-dom'
import Index from './Index'
import List from './List'
class APPRouter extends Component {
  render() {
    return (
      <Router>
        <ul>
          <li>
            <Link to="/">首页</Link>
          </li>
          <li>
            <Link to="/List/23">列表页</Link>
          </li>
        </ul>
        <Route path="/" exact component={Index}></Route>
        <Route path="/list" component={List}></Route>
      </Router>
    )
  }
}
export default APPRouter
  • exact精准匹配

Index.jsList.js文件中分别写入以下代码

import React, { Component } from 'react'
class Index extends Component {
  render() {
    return <div> 列表页面 </div>
  }
}

export default Index

在这里插入图片描述

ReactRouter动态传值

这就比较常见的根据id跳转页面,显示不同内容.
这个设置是以:开始的,然后紧跟着你传递的key(键名称)名称。

<Route path="/list/:id" component={List}></Route>

就可以在Link上设置值了,模拟一个json数据,点击跳转页面

import React, { Component } from 'react'
import { Link, Redirect } from 'react-router-dom'

class Index extends Component {
  constructor(props) {
    super(props)
    this.state = {
      list: [
        { cid: 1, title: '这个是首页1' },
        { cid: 2, title: '这个是首页1' },
        { cid: 3, title: '这个是首页2' }
      ]
    }
  }
  render() {
    return (
      <div>
        <ul>
          {this.state.list.map((item, index) => {
            return (
              <li key={index}>
                <Link to={'/list/' + item.cid}>{item.title}</Link>
              </li>
            )
          })}
        </ul>
      </div>
    )
  }
}

export default Index

怎么接受传过来的id,组件接收传递过来的值的时候,可以在声明周期componentDidMount中进行

  • patch:自己定义的路由规则,可以清楚的看到是可以产地id参数的。
  • url: 真实的访问路径,这上面可以清楚的看到传递过来的参数是什么。
  • params:传递过来的参数,key和value值。

在这里插入图片描述

componentDidMount() {
    console.log(this.props.match)
    //获取传过来的id
    let tempId = this.props.match.params.id
    this.setState({
      id: tempId
    })
  }

以上就是比较简单的react-router使用

目录
相关文章
|
8月前
|
前端开发 JavaScript 开发者
React:JSX语法入门
React:JSX语法入门
104 0
|
5月前
|
XML JavaScript 前端开发
React Jsx语法入门
【8月更文挑战第13天】React Jsx语法入门
49 4
|
2月前
|
前端开发 JavaScript 定位技术
React 地图组件 Mapbox 入门指南
Mapbox 是一个强大的地图平台,提供丰富的地图数据和工具,支持多种开发语言和框架。本文介绍如何在 React 项目中使用 Mapbox,涵盖基础概念、安装配置、基本用法、常见问题及解决方法、高级用法等内容,并通过代码示例详细说明,帮助开发者提升地图应用的开发效率和用户体验。
117 2
|
2月前
|
前端开发 API UED
React 图片轮播 Carousel:从入门到进阶
本文介绍了在 React 中实现图片轮播(Carousel)的方法,从基础安装和配置 `react-slick` 开始,逐步讲解了常见问题如图片路径、性能优化、自定义样式和交互处理,以及高级话题如动态数据加载和响应式设计。通过详细示例,帮助开发者避免易错点,提升轮播图的用户体验。
46 3
|
2月前
|
监控 前端开发 JavaScript
React 静态网站生成工具 Next.js 入门指南
【10月更文挑战第20天】Next.js 是一个基于 React 的服务器端渲染框架,由 Vercel 开发。本文从基础概念出发,逐步探讨 Next.js 的常见问题、易错点及解决方法,并通过具体代码示例进行说明,帮助开发者快速构建高性能的 Web 应用。
103 10
|
3月前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
4月前
|
移动开发 前端开发 JavaScript
构建高效跨平台移动应用:React Native入门指南
【8月更文挑战第47天】在移动开发领域,React Native凭借其跨平台特性和高效的开发模式赢得了开发者的青睐。本文将通过一个简易的待办事项应用实例,带领读者快速入门React Native,并展示如何利用JavaScript和React框架构建具有原生性能的应用。我们将探讨环境配置、界面布局、状态管理和数据流,以及如何打包和发布您的应用。准备好,让我们开始React Native之旅!
81 20
|
4月前
|
前端开发 JavaScript
React技术栈-React UI之ant-design使用入门
关于React技术栈中使用ant-design库的入门教程,包括了创建React应用、搭建开发环境、配置按需加载、编写和运行代码的步骤,以及遇到错误的解决方法。
52 2
React技术栈-React UI之ant-design使用入门
|
4月前
|
XML 存储 前端开发
React 基础入门
【9月更文挑战第1天】本文详细介绍了由Facebook开发的JavaScript库React,涵盖环境搭建、基本概念、常见问题及解决方案。首先,通过安装Node.js、npm和Create React App快速搭建开发环境;接着,讲解了JSX、组件(包括函数和类组件)、state和props等核心概念;最后,针对JSX语法错误、state异步更新及props与state混淆等问题提供了具体的解决方法和示例代码,帮助读者更好地理解和应用React。
42 2
|
5月前
|
JavaScript 前端开发 容器
React基础入门之虚拟dom【一】
【8月更文挑战第14天】React基础入门之虚拟dom
47 0
React基础入门之虚拟dom【一】