React 路由的简单使用

【附源码】Node.js毕业设计高校院级校友信息管理系统(Express) 首先,该系统可以提高高校对校友信息管理的效率和准确性。通过系统提供的查询功能,高校可以方便地获取校友的最新联系方式和动态,及时了解校友的发展情况,为校友提供更好的服务和支持。总之,开发高校院级校友信息管理系统将为高校提供一个高效、便捷的工具,有助于提升校友管理水平和服务质量,促进高校与校友之间的良好互动关系。通过使用前端技术HTML、CSS、JavaScript和Vue框架,结合后端技术Node.js和Express框架,以及MySQL数据库,可以实现对校友信息的快速录入、查询、修改和删除等操作。 阅读详情

在我的上一篇文章搭建React空项目中已经介绍了如何安装路由相关依赖,这里不说了。直接开整。

需求是这样的,写一个登录界面,一个主界面。登录界面点击登录以后跳转到主界面去。这其中的后台验证等逻辑就先不要了。只要点击立即跳转就可以。 

代码

登录界面Login

import './index.css'
import React, {Component} from 'react'
import { Form, Input, Button, Checkbox } from 'antd';

export default class Login extends Component {
    constructor(props) {
        super(props);
    }

    onFinish = () => {

    }

    doLogin = () => {
        this.props.history.push({
            pathname: '/home',
            state: {}
        })
    }

    onFinishFailed = () => {

    }

    render() {
        return(
            <div className='login'>
                <Form
                    name="basic"
                    className='form'
                    initialValues={{ remember: true }}
                    onFinish={this.onFinish}
                    onFinishFailed={this.onFinishFailed}
                >
                    <Form.Item
                        label="Username"
                        name="username"
                        rules={[{ required: true, message: 'Please input your username!' }]}
                    >
                        <Input/>
                    </Form.Item>

                    <Form.Item
                        label="Password"
                        name="password"
                        rules={[{ required: true, message: 'Please input your password!' }]}
                    >
                        <Input.Password />
                    </Form.Item>

                    <Form.Item name="remember" valuePropName="checked">
                        <Checkbox>记住密码</Checkbox>
                    </Form.Item>

                    <Form.Item >
                        <div className='btn-div'>
                            {/* 特别注意一下这里onClick中函数的写法就好了。如果写this.doLogin等于调用函数,也就是说页面加载以后,这句话会立即调用。而下面这种写法相当于给onClick事件传入匿名函数,当触发点击事件的时候才会触发 */}
                            <Button type="primary" htmlType="submit" onClick={() => this.doLogin()}>登 录</Button>
                            &nbsp;&nbsp;
                            <Button htmlType="reset">重置</Button>
                        </div>
                    </Form.Item>
                </Form>
            </div>
        )
    }
}

 

主页面Home

import React, {Component} from "react";
import { Layout, Menu } from 'antd';
import {
    MenuUnfoldOutlined,
    MenuFoldOutlined,
    UserOutlined,
    VideoCameraOutlined,
    UploadOutlined,
} from '@ant-design/icons';

const { Header, Sider, Content } = Layout;

export default class Home extends Component{
    constructor(props) {
        super(props);
        this.state = {
            collapsed: false,
        }
    }

    render(){
        return(
            <div>
                <Layout className='framework'>
                    <Sider trigger={null} collapsible collapsed={this.state.collapsed}>
                        <div className="logo" />
                        <Menu theme="dark" mode="inline" defaultSelectedKeys={['1']}>
                            <Menu.Item key="1" icon={<UserOutlined />}>
                                项目
                            </Menu.Item>
                            <Menu.Item key="2" icon={<VideoCameraOutlined />}>
                                用户
                            </Menu.Item>
                            <Menu.Item key="3" icon={<UploadOutlined />}>
                                引擎
                            </Menu.Item>
                        </Menu>
                    </Sider>
                    <Layout className="site-layout">
                        <Header className="site-layout-background" style={{ padding: 0 }}>
                            {React.createElement(this.state.collapsed ? MenuUnfoldOutlined : MenuFoldOutlined, {
                                className: 'trigger',
                                onClick: this.toggle,
                            })}
                        </Header>
                        <Content
                            className="site-layout-background"
                            style={{
                                margin: '24px 16px',
                                padding: 24,
                                minHeight: 280,
                            }}
                        >
                            图表
                        </Content>
                    </Layout>
                </Layout>
            </div>
        )
    }

}

在App.js文件中将两个写好的组件管理起来

import './App.css';
import React, {Component} from "react";
//引入两个页面
import Login from "./pages/login";
import Home from './pages/home'
import {HashRouter as Router, Route, Link, Switch, Redirect} from 'react-router-dom';

class App extends Component {
    constructor(props) {
        super(props);
    }

    render() {
        return (
            //注意这里需要使用一个路由器将下面要写的路由包裹起来
            <Router>
                <div className="App">
                    {/* switch是一个路由工具,表示被包裹的n个路由组件在同一时刻只会显示其中之一 */}
                    <Switch>
                        <Route path="/login" component={Login}/>
                        <Route path="/home" component={Home}/>
                        {/* 如果输入的是根路径,重定向到登录页面 */}
                        <Route path="/" render={() => <Redirect to="/login"/>}/>
                    </Switch>

                </div>
            </Router>
        );
    }
}

export default App;

 

 

 

Auto.js实现视频号点赞自动化 摘要:本文介绍了一个微信视频号自动化点赞的实现方案。通过定位点赞图标和数量容器,点击点赞按钮后检测点赞数变化,若发现取消点赞则自动补点。核心代码包括:1)获取点赞容器和图标;2)记录点赞前后数量;3)判断是否误取消并补点;4)循环执行点赞和滑动页面操作。该方案解决了滑动页面可能导致误取消点赞的问题,实现了自动化批量点赞功能。文章强调仅供学习参考,提醒勿滥用该技术。 阅读详情

相关推荐

大模型学习路线之多模态模型

​ (Frankly speaking,博主太懒了)章节一只对CLIP、BLIP、BLIP2、InstructBLIP进行了整理,章节二以CLIP、VisualGLM作为实践案例。​ 实际上多模态模型除了CLIP、BLIP、BLIP2、InstructBLIP,还有LLaVA、miniGPT4,以及国内清华的VisualGLM、阿里的Qwen-VL等。(更多多模态原理可以看文末的参考说明)一、多模态模型 & 理论。

2401_86435672的博客 2287

AntDesign(React)学习-5 路由及使用Layout布局

前言:学习目标实现点击登录按钮,直接进入后台布局页面,类似下面antd官网文档展示效果 ant.design访问 https://ant-design.gitee.io/components/menu-cn/ 速度比较快 1、最开始想的很简单,增加一个页面,修改一个路由即可,实际操作中掉了几次坑,花了很长时间 首先修改路由如下,注意:如果写后面,比如 的话会报 要放前面如下 或者...

zhaogaojian的专栏 237

航天仿真必看:如何用SOFA库实现高精度GCRS-ITRS坐标转换?避坑指南

本文深入解析了航天仿真中高精度GCRS-ITRS坐标转换的关键技术,重点介绍了SOFA库在天球系与轨道系转换中的权威应用。通过对比传统方法的误差来源,详细阐述了SOFA库的转换算法优势、工程实现步骤及误差控制策略,为航天器轨道仿真提供毫米级精度的解决方案。

7h6j5k4l3的博客 850

react后台管理系统(一)

react后台管理系统(一)

唯见青山不见君 2097

ANSYS Workbench接触分析实战:从算法选择到收敛难题破解

本文深入解析ANSYS Workbench接触分析的核心技术与实战技巧,涵盖四大接触算法选择、收敛难题破解秘籍及典型场景参数设置。通过实际案例演示如何优化接触刚度、pinball区域和非对称行为等关键参数,帮助工程师有效解决结构非线性问题,提升仿真效率和精度。

weixin_28705087的博客 358

nnDetection复现Luna16 附模型

淘论文发现nnDetection框架对肺结节的检测效果挺好,便跑了跑复现了下, 作者诚不欺人,确实挺好, 并附上我依据文档训练的模型。

HeavenWalker 2595

超详细的React路由基础使用

一个路由就是一个映射关系(key:value) key为路径, value可能是function或component

我的身体只需要很少的粮食就能养活;而我的灵魂却非常地贪婪,需要日月星辰、山川湖泊和大自然的滋养。 3150

交通银行金融科技后端开发实习生面试经验

笔试之路的第一个脚印。不足的地方:基本功不扎实,得补。先补sql(先整理出一篇sql语句做题的文章,争取下次笔试拿下这一块),编程题中的SQL写不出来感觉很丢人。然后补八股文,结合一些网上项目教程,来理解常用的一些八股文(比如各种锁)。

T__TSZ的博客 1719

服务器网络请求返回状态码集合

在开发过程中报错是最令人头疼的,接下来我们就来谈谈那些状态码都是什么 200: '服务器成功返回请求的数据。', 201: '新建或修改数据成功。', 202: '一个请求已经进入后台排队(异步任务)。', 204: '删除数据成功。', 400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。', 401: '用户没有权限(令牌、用户名、密码错误)。', ...

qq_41241504的博客 739

【人工智能之深度学习】15. 工业时序预测实战:LSTM与TCN融合的装备故障预警系统设计与实现

摘要:工业装备故障预警是智能制造领域的核心技术之一,其通过分析传感器时序数据实现故障提前预测,可显著降低运维成本并提升设备可靠性。本文针对工业时序数据多源异构、非平稳性、噪声干扰及样本不平衡等挑战,提出一种LSTM与TCN融合的故障预警架构——利用TCN捕捉局部时序特征,结合注意力增强LSTM建模长期依赖关系,通过门控机制实现特征自适应融合。以3MW风电齿轮箱为研究对象,设计包含数据预处理、特征工程、模型训练及部署的完整流程,实验结果表明,该融合模型准确率达94.6%,故障预测提前量较单一模型提升30%以上

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1438

华为HCIP的学习大纲和计划

HCIP(华为认证 ICT 高级工程师)核心围绕华为 ICT 技术体系,不同方向(如路由交换、云计算、安全等)课程目录不同,以下是最热门的。

迷逝 573

Ant-Design-Pro-V5:默认侧面菜单栏伸缩按钮调整到顶部。

Ant-Design-Pro-V5:默认侧面菜单栏伸缩按钮调整到顶部。

~~~ 1485

S7-1500——(一)西门子PLC编程算法及程序设计1、拆解基本算法(一)

顺序队列也是一种操作受限的线性表,在一端添加数据,另一端取出数据,符合先进先出的特性工作过程:需要两个指针来指向存取元素的位置(头指针,尾指针)如下图头指针指向队列里边第一个元素位置(即下次出队元素所在的位置)尾指针是指向队列内最后一个元素的下一个位置(即下次要入队的元素要存放的位置)空队状态:最初始状态,队列没有任何元素,头指针和尾指针都指向队头,(由于没有任何元素,不能做出队操作,可进行入队操作)入队操作出队操作满队:一直入队,最终元素装满队列;满队后,虽然队列前面还有空间,但由于。

大小曲奇的博客 1605

react路由,简单使用

【代码】react路由,简单使用。

qq_34631220的博客 505

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

php react路由部署,react路由的简单用法(代码示例)

本篇文章给大家带来的内容是关于react路由的简单用法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。我要的是简单粗暴的路由习惯了 vue-router 路由的用法,再用react-router总感觉挺麻烦的。那么就自己封装一个吧1.封装多级路由的情况 ————文件名为routerView.jsimport React from 'react';import {Sw...

weixin_42575109的博客 219

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

面向初学者的简单React JS路由

One of the key parts of the modern single page application (SPA) is routing; determining what should show when a user visits a certain page in the application.路由是现代单页应用程序(SPA)的关键部分之一。 确定当用户访问应用程序中的特定页...

weixin_26748899的博客 298

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

React路由的理解以及简单使用

React路由是前端实现单页应用(SPA)的关键技术,通过监听URL路径变化动态渲染对应组件,无需页面刷新。其核心原理是利用BOM的history对象管理路径变化,常用的BrowserRouter和HashRouter两种路由器分别采用不同URL格式。路由组件通过Route注册路径与组件映射关系,Link/NavLink实现导航,Switch优化匹配效率。开发中需注意多级路径导致的样式丢失问题,可通过修改资源路径或使用HashRouter解决,同时支持模糊匹配和严格匹配模式,Redirect可设置默认路由。

A6516565189的博客 1083

react 动态修改路由_react-slide-routes,最简单的 React Router 动态切换路由方案

上集回顾开发 React + React Router 项目时,想实现一个路由跳转时、滑动切换路由页面的效果。提着两把西瓜刀从 GitHub 一路砍到 Stack Overflow,楞是没找到一个简单易用的解决方案。有人可能会说,不有官方方案 react-transition-group 吗?其实 react-transition-group 是一个提供基础功能的库,它给了菜、给了肉、给了油,但并...

weixin_42510783的博客 716

react路由的最简单配置

前言 vue写的不少了,想了解一下react,再加上大家都说typescript很香,所以用react + typescript写个小的demo项目了解一下。因为项目主要为了练一下各种技术的配合使用,所以结构和代码上实现的比较随意,有兴趣的学习react的新人朋友们也就酌情浏览就好了????,我也是正在学习react,大家可以留言讨论哈。 项目地址 https://github.com/18sby/di...

qq_34576748的博客 436

react路由的简单使用

react路由: HashRouter 路由 有一个#,这种模式常用 BrowserRouter:路由中没有#,会发送ajax请求,返回一个页面,需要后端支持,这种模式一般不怎么使用 react-router-dom;是页面开发的路由,react-router-native:是react-native(RN)开发 普通hash模式下:匹配路由以什么开头,或者与当前要跳转的路由一定匹配 如果出现二级路由的时候,需要使用exact来精确匹配 Route:一个路由的配置对象/组件,Redirect:重定向 swi

丢失的Litte_志伟的博客 221

react路由第一节安装和简单应用

2.其余见官网详细教程。

qq_44206824的博客 351

我们要的是一个简单的react-router路由

我们要的是一个简单的react-router路由 习惯了 vue-router 路由的用法,再用react-router总感觉挺麻烦的。 那么react有没有用法跟vue-router一样使用简单的路由插件呢? 管它有没有,轮子我已经造好了,请收下react-concise-router。 react-concise-router react-concise-router 是一个基于 reac...

weixin_34319640的博客 116

React路由简单操作

1》下载 npm install react-router-dom --save 2》引入(配置) import {HashRouter,Route} from 'react-router-dom'; HashRouter : 路由的大组件 ***http://localhost:3000/#/ BrowserRouter(比起上面这个路径中去掉了#) ***http://localhost:3000/ Route : 组件的配置项 path :访问的路径

DaftJayee的博客 159

react一看就会的简单路由设置

不管是vue还是react  这种单页面的框架一定都少不了路由下面给大家讲讲在实际项目中react的路由设置第一步:        在src目录下新建一个目录route  在该目录下新建一个index.js用于管理路由如:import React ,{ Component } from 'react'import {Switch,Route,Redirect} from 'react-router...

weixin_41421227的博客 8920

简单粗暴的react路由

我要的是简单粗暴的路由 习惯了 vue-router 路由的用法,再用react-router总感觉挺麻烦的。 那么就自己封装一个吧 1.封装多级路由的情况 ————文件名为routerView.js import React from 'react'; import {Switch, Redirect, Route} from 'd...

weixin_34168880的博客 93
上一篇: Springboot使用PageHelper分页插件
下一篇: 冰冰B站第一个视频的弹幕大家都说了啥?Python爬取冰冰弹幕并分析
iFence
博客等级 码龄9年 8051粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值