react 路由跳转

react 路由跳转

step1:

npm i react-router-dom

step2: E:\Users\coder\WebstormProjects\untitled2\src\component\about.js

import React from 'react';

function About () {
    return <div>
        <h2>GeeksforGeeks is a computer science portal for geeks!</h2>
        Read more about us at :
        <a href="https://www.geeksforgeeks.org/about/">
            https://www.geeksforgeeks.org/about/
        </a>
    </div>
}
export default About;

step3: E:\Users\coder\WebstormProjects\untitled2\src\component\contact.js

import React from 'react';

function Contact (){
    return <address>
        You can find us here:<br />
        GeeksforGeeks<br />
        5th & 6th Floor, Royal Kapsons, A- 118, <br />
        Sector- 136, Noida, Uttar Pradesh (201305)
    </address>
}

export default Contact;

step4: E:\Users\coder\WebstormProjects\untitled2\src\component\home.js

import React from 'react';

function Contact (){
    return (<h1>首页</h1>);
}

export default Contact;

step5: E:\Users\coder\WebstormProjects\untitled2\src\App.js

import React, {Component} from 'react';
import {BrowserRouter as Router, Route, Link, Routes} from 'react-router-dom';
import Home from './component/home';
import About from './component/about';
import Contact from './component/contact';
import './App.css';
import {makeStyles} from "@material-ui/core/styles";
import Grid from '@material-ui/core/Grid';
import Container from '@material-ui/core/Container';


const useStyles = makeStyles((theme) => ({
    root: {
        flexGrow: 1,
    },
    paper: {
        padding: theme.spacing(2),
        textAlign: 'center',
        color: theme.palette.text.secondary,
    },
}));

class App extends Component {
    render() {
        return (
            <React.Fragment>
                <Container maxWidth="xl">
                    <Router>
                        <div className="App">
                            <Grid container spacing={3}>
                                <Grid item xs={2} style={{backgroundColor: "#4e342e"}}>
                                    <div>
                                        <li><Link to="/">首页</Link></li>
                                        <li><Link to="/about">关于</Link></li>
                                        <li><Link to="/contact">联系</Link></li>
                                    </div>
                                </Grid>
                                <Grid item xs={10} style={{backgroundColor: "#039be5"}}>
                                    <Routes>
                                        <Route path='/' element={<Home/>}/>
                                        <Route path='/about' element={<About/>}/>
                                        <Route path='/contact' element={<Contact/>}/>
                                    </Routes>
                                </Grid>
                            </Grid>
                        </div>
                    </Router>
                </Container>
            </React.Fragment>
        );
    }
}

export default App;

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值