美文网首页
React路由示例

React路由示例

作者: 少儿创客 | 来源:发表于2019-03-21 22:13 被阅读0次

这两天参考视频教程学习了React,加上之前也看过一些,所以有点懂了,所以试着输出一些内容,做过route的例子,巩固学校效果。

route-demo.gif 教程

创建项目

Node安装后会有一个npx命令,用这个命令可以新建React项目,具体命令如下:

npx create-react-app route-demo

至于为什么会有create-react-app命令,我也不晓得。网速比较慢,等下就好了。如果实在是很慢可以改成淘宝源:

npm config set registry https://registry.npm.taobao.org

关于路由

React的路由其实跟Python中的flask框架非常像的:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello World!'

@app.route('/about')
def about():
   return 'About Page!'

@app.route('/article')
def article():
   return 'Article Page!'

if __name__ == '__main__':
    app.run()

flask框架中,根据路由的不同,返回不同的页面(这里用字符串代替)。React的路由也是如此,只不过需要导入的库不同罢了,学习React一开始的时候,往往要学习虚拟DOM,后面才会学习如何制作多页面,使用路由。

创建项目后,修改生成的App.js

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


class App extends Component {
  
  render() {    
    return (
      <Router>
        <div className="App">
          <div className="container">
            <Link style={linkStyle} to='/'>Home</Link>|
            <Link style={linkStyle} to='/article'>Article</Link>|
            <Link style={linkStyle} to='/about'>About</Link>|
          
            <Route exact path="/" render={props => (
              <React.Fragment>
                <h3>Home</h3>
                This is Home Page.
              </React.Fragment>
            )} />     

            <Route path="/about" render={
              props => (
                <React.Fragment>
                  <h3>About</h3>
                  This is about page.
                </React.Fragment>
              )
            }/>

            <Route path="/article" render={
              props => (
                <React.Fragment>
                  <h3>article</h3>
                  This is article page.
                </React.Fragment>
              )
            }/>
            
          </div>
        </div>
      </Router>
    );
  }
}

const linkStyle = {
  color: '#000',
  textDecoration: 'none'
}

export default App;

react-router-dom

注意要先安装react-router-dom,具体命令

npm install -g react-router-dom

然后倒入要用到的模块

import { BrowserRouter as Router, Route, Link } from 'react-router-dom';

React中的路由是通过react-router-dom实现的,然后就是所有的代码都包裹在Router标签,然后单个路由包含在Route标签:

<Route exact path="/" render={props => (
              <React.Fragment>
                <h3>Home</h3>
                This is Home Page.
              </React.Fragment>
            )} />     

这个标签中,path属性是路由,类似于flask中装饰器的路由@app.route('/'),而render属性就相当于flask中的return或者是render_template,返回路由对应的具体内容,注意React.Fragment是用来包裹内容的一个虚拟的标签,因为不是所有的时候都需要用div来包裹标签的。

结果如下:


route-demo.gif

相关文章

  • React路由示例

    这两天参考视频教程学习了React,加上之前也看过一些,所以有点懂了,所以试着输出一些内容,做过route的例子,...

  • ReactNative切换Tab改变状态栏

    Ready 现在大多数的ReactNative使用的路由都是react navigation.本示例就以react...

  • react-router

    安装 示例 容器组件 react-router的容器组件,就是最外层包括所有路由的组件,所有路由活动需要在容器组件...

  • React Router小结

    1. 什么是React Router 一个基于 React 之上的强大路由库,官方的示例库有详细的使用介绍。 2....

  • react从0到1的探索记录04

    18、React中的路由 React中路由的基本使用 在react中使用路由首先需要安装react的路由模块 np...

  • react学习资料八

    路由 使用react的路由就要引入react路由插件react-router.js ReactRouter 保存一...

  • React-Router-v3

    react-router 一、基本使用 安装 引入 示例 二、路由嵌套 1. 方法一: 2. 方法二: 访问'/r...

  • React-Router知识点

    路由的分类 页面路由 hash 路由 h5路由 react路由 react-router-dom 路由方式 h5路...

  • 使用webpack的require.context实现路由“去中

    阅读须知:示例代码以vue-router为例。其他路由同样适用,如:react-router。同样其他的功能模块也...

  • React路由

    React 路由 一、在React中使用react-router-dom路由 安装npm install reac...

网友评论

      本文标题:React路由示例

      本文链接:https://www.haomeiwen.com/subject/tlucvqtx.html