react项目实战(权限模块开发一) 配置路由

第一步:采用dva创建项目,然后通过webstore打开项目(忽略)
项目解构如下:container是我新增加的文件夹用来存放相应的界面。
这里写图片描述
第二步 分析需求,
打算用react做个权限管理模块,首先是登陆界面,登陆完成后进入到首页框架界面,对权限信息进行维护,维护信息主要是:

  • 用户信息User
  • 角色信息Role
  • 机构信息Org
  • 资源信息Resource
  • 资源权限信息ResourceACL

第三步写路由信息:
/src/router.js的内容:

import React from 'react';
import { Router, Route } from 'dva/router';
import { App, Login, User, Role, Org,Resource,ResourceAcl} from './containers'

function RouterConfig({ history }) {
  return (
    <Router history={history}>
      <Route path="/" component={App}>
        <Route path="/User" component={User}/>
        <Route path="/Role" component={Role}/>
        <Route path="/Org" component={Org}/>
        <Route path="/Resource" component={Resource}/>
        <Route path="/ResourceAcl" component={ResourceAcl}/>
      </Route>
      <Route path="/Login" component={Login}/>
    </Router>
  );
}
export default RouterConfig;

第四步:为了测试路由是否配置正确,先写个几个简单的界面来进行测试,目录解构如下:
这里写图片描述
src/containers/index.js的内容如下:

export App from './App'
export Login from './login/Login'
export User from './user/User'
export Role from './role/Role'
export Org from './org/Org'
export ResourceAcl from './resourceAcl/ResourceAcl'
export Resource from './resource/Resource'

针对每个菜单界面进行开发一个简单界面:
src/containers/App.js的内容如下:

import React, { Component } from 'react' // 引入React
import { Link } from 'react-router' // 引入Link处理导航跳转

import '../assets/css/bootstrap.min.css'  // 引入样式文件

export default class App extends Component {
    render() {
        return(
            <div>
                <nav className="navbar navbar-default">
                    <div className="container-fluid">
                        <ul className="nav navbar-nav">
                            <li>
                                <Link to="/User" activeStyle={{color: '#555', backgroundColor: '#e7e7e7'}}>用户信息管理</Link>
                            </li>
                            <li>
                                <Link to="/Role" activeStyle={{color: '#555', backgroundColor: '#e7e7e7'}}>角色信息管理</Link>
                            </li>
                            <li>
                                <Link to="/Org" activeStyle={{color: '#555', backgroundColor: '#e7e7e7'}}>机构信息管理</Link>
                            </li>
                          <li>
                            <Link to="/Resource" activeStyle={{color: '#555', backgroundColor: '#e7e7e7'}}>资源管理</Link>
                          </li>
                          <li>
                            <Link to="/ResourceAcl" activeStyle={{color: '#555', backgroundColor: '#e7e7e7'}}>资源权限管理</Link>
                          </li>
                            <li>
                                <Link to="/Login" activeStyle={{color: '#555', backgroundColor: '#e7e7e7'}}>系统登陆</Link>
                            </li>
                        </ul>
                    </div>
                </nav>
                <div className="panel panel-default">
                    <div className="panel-body">
                        { this.props.children }
                    </div>
                </div>
            </div>
        )
    }
}

注意 app.js引用了bootstrap的样式

import '../assets/css/bootstrap.min.css' 

这个我是提前下载的,存放目录结果如下啊:
这里写图片描述

编写其他页面的内容,src/containers/user/User.js文件内容如下:

// 动态数据
import React, { Component } from 'react'
import { connect } from 'react-redux'

class User extends Component {
  render() {
    const { lists, fetchPostsIfNeeded, refreshData } = this.props
    return (
      <div>
        <h1>用户管理</h1>
      </div>
    )
  }
}
export default User;

其他界面的内容如User的一样,只是中文说明不一样而已。

第五步启动服务,测试下路由是否正确。

这里写图片描述
点击不同的菜单 显示不同的内容,则表示路由配置成功。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值