ReactJS_16 React路由设置:React Router

根据上一篇文章,我们基于webpack已经配置好react开发环境,接下来了解一下React Router 路由。
React Router路由在开发中时刻都会用到,它是SPA(单页应用)的基础,可以说不会路由系统基本就无法用React进行编程。其实路由可以简单的看作我们平时访问的网址或者路径,这样看有助于你的理解,但是并不正确。

Router包安装:

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

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

react-router:是基本的router包,里边函的内容较多,但是在网页开发中有很多用不到,现在的市面上的课程讲的基本都是这个包的教程。

react-router-dom:随着react生态环境的壮大,后出现的包,这个包比react-router包轻巧了很多。

注意:其实安装了react-router包就不用安装了react-router-dom包了,这里我们只是为了给大家一个提示,所以安装了两个包。在实际开发中,请根据需要进行安装。安装时使用--save,因为这是要在生产环境中使用的。

我们在/app文件夹下新建一个jsdemo.js页面。然后引进React包,并编写一个A页面的组件。请看下面的代码。

import React from 'react';
export default class jsdemo extends React.Component{
    render(){
        return(
            
A默认页面
); } }

这里我们采用了ES6的类语法,这也是现在React推荐使用的,如果使用老语法会有一条黄色的警告或报错。

写好组件后,引入index.js页面,在头部加入引入语句,并改写渲染代码。

import React from 'react';
import ReactDOM from 'react-dom';
import Jsdemo from './jsdemo';
ReactDOM.render(
    ,
    document.getElementById("app")
);

引入完成后,执行npm run dev预览可以看到我们写的A页面的组件。通过上边基本的练习,我们有了一定经验,那么接下来我们仿照上面的方法制作两个新组件,jsdemob和jsdemoc。代码如下:

//jsdemob.js
import React from 'react';
export default class jsdemob extends React.Component{
    render(){
        return(
            
B页面
); } }
//jsdemoc.js
import React from 'react';
export default class jsdemoc extends React.Component{
    render(){
        return(
            
B页面
); } }

写完三个页面组件以后,我们把这三个页面都引入到index.js文件里边。

import Jsdemo from './jsdemo';
import Jsdemob from './jsdemob';
import Jsdemoc from './jsdemoc';

引入和书写路由

三个页面都已经作好,现在就需要路由来切换他们了,先用import引入我们的路由包,这里我们用两个模块,一个是Router(我自己叫它路由器),另一个是Route(我自己叫它路由)。

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

然后我们改写文件,增加路由设置。

ReactDOM.render(
    
        
, document.getElementById("app") );

注意:这里的exact是精确匹配的意思,比如我们有多层路由进行嵌套时,exact可以帮助我们精确匹配到你想跳转的路由。exact的值为bool型,为true是表示严格匹配,为false时为正常匹配。

我们路由已经设置完毕了,但是我们现在还不能进行切换,那我们就做个切换的组件,命名为:Nav

制作Nav组件

/app文件夹下新建一个nav.js的文件,先引入reactreact-router-dom两个包。

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

编写基本的nav组件:

//nav.js
const NavBar = () =>(
JsdemoaJsdemobJsdemoc
) export default NavBar;

组件编写完成后,引入index.js,并添加

你可能感兴趣的:(ReactJS_16 React路由设置:React Router)