React路由配置使用

news/2024/7/1 18:25:46

Router包安装:

安装包还是要打开命令行工具,使用npm来进行安装。

npm install --save react-router react-router-dom

页面login:
import React from 'react'
import { createHashHistory } from 'history'

// eslint-disable-next-line react/require-render-return
export default class pagea extends React.Component{
    jumpHome(){
        createHashHistory().push('home')
    }
    jumpRegis(){
        createHashHistory().push('register')

    }
    render(){
        return(
            <div>
                <div><br/><br/><br/><br/>login</div>
                <button onClick={this.jumpHome}>login</button>
                <button onClick={this.jumpRegis}>register</button>
            </div>
        )
    }
}


页面a:
import React from 'react'

export default class pagea extends React.Component{
    render(){
        return(
            <div>
                <div><br/><br/><br/><br/>页面A</div>
            </div>
        )
    }
}

  

 

 页面B:

import React from 'react'

export default class pageb extends React.Component{
    render(){
        return(
            <div>
              <div>页面B</div>
            </div>
        )
    }
}

  

  home.js:

import React from 'react';
import {NavLink} from 'react-router-dom';

const NavBar = () =>(
    <div>
        <div>
            <NavLink exact to='/home/pagea'>pagea</NavLink><br/>
            <NavLink to='/home/pageb'>pageb</NavLink>
        </div>
    </div>
    )
    export default NavBar;

  

  

index.js:

import React from 'react';
import ReactDOM from 'react-dom';
import * as serviceWorker from './serviceWorker';
import {BrowserRouter as Router ,HashRouter,MemoryRouter, Route , Switch ,Redirect} from 'react-router-dom';

import Login from './components/login'
import Register from './components/register'
import Home from './home';
import Pagea from './components/pagea'
import Pageb from './components/pageb'


ReactDOM.render(
    <HashRouter basename="" >
      <div>
        <Route exact path="/" component={Login} />
        <Route  path="/login" component={Login} />
        <Route  path="/register" component={Register} />
        <Route  path="/home" component={Home}>
          <Route  path="/home" component={Home}/>
          <Route  path="/home/pagea" component={Pagea} />
          <Route  path="/home/pageb" component={Pageb} />  
        </Route>
      </div>
      </HashRouter>,
    document.getElementById('root')
    )

serviceWorker.unregister();

  

  项目结构:

 

转载于:https://www.cnblogs.com/lan-cheng/p/10541694.html


http://www.niftyadmin.cn/n/1996509.html

相关文章

WebBrowser编程简述

WebBrowser编程简述 引 言 这篇文章最先发表于2000年07月25日&#xff0c;最后一次修改是在2001年02月07日。这里再次贴出的目的&#xff0c;一是作为前一阶段的完结&#xff0c;所以文章中的错误都不作修改&#xff1b;二是希望作为一个新的起点。我准备整理一下至今所积累…

EXCEL中的游戏

EXCEL中的游戏EXCEL 2000:新建一个空白文件,选择"文件"菜单的"另存为WEB页...",然后在"另存为"对话框中选择"工作表"并勾选"添加交互"栏目,按"发布"后,出现"发布为WEB页"的对话框,选择"发布"…

桌面地址的注册表项

HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders

[2019.2.13]BZOJ4318 OSU!

我们记\(pw3_i\)表示前\(i\)个位置,结尾为\(i\)的最长全1子串的期望长度的立方。 如果我们钦定\(p_{n1}0\),那么答案\(\sum_{i1}^npw3_i\times(1-p_{i1})\)。乘上\((1-p_{i1})\)意思是这一位要在下一位为\(0\)的时候才有贡献。 设当前位置为\(i\)。 这一位有\(p_i\)的概率为1。…

Windows外壳名字空间的浏览

Windows外壳名字空间的浏览 姜伟华 Windows95/98对Dos/Win3.x作了许多重大改进&#xff0c;在文件系统方面&#xff0c;它除了采用长文件名替代Dos中的8.3文件名以外&#xff0c;引入外壳名字空间&#xff08;Shell Name Space&#xff09;来代Dos文件系统是其又一大突破&…

webstorm初始化_WebStorm入门配置教程

如何下载WebStorm&#xff1f;去 WebStorm官方网站下载即可&#xff0c;可以免费试用 30 天。获取正版的途径付费购买WebStorm 官方报价是第一年 405 人民币第二年 323 人民币第三年之后 240 人民币2. 如果你是学生&#xff0c;可以获取免费教育版3. 如果你在 GitHub 上的项目持…

JavaScript夯实基础系列(三):this

在JavaScript中&#xff0c;函数的每次调用都会拥有一个执行上下文&#xff0c;通过this关键字指向该上下文。函数中的代码在函数定义时不会执行&#xff0c;只有在函数被调用时才执行。函数调用的方式有四种&#xff1a;作为函数调用、作为方法调用、作为构造函数调用以及间接…

增强的CHtmlView类,在视图里处理HTML元素事件和交换数据

前言 伴随着VC7的诞生&#xff0c;载入IE的对话框成为了新的热点&#xff0c;CDHtmlDialog给不熟悉COM编程的程序员注入了丝丝暖风。处理页面元素的响应事件&#xff0c;与其交换数据都被封装到几组宏内。类似DHTML_EVENT_ONCLICK&#xff0c;DDX_DHtml_Radio的宏被我们添加到实…