查看: 66|回复: 0

react react-router-config

[复制链接]

2

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2008-8-3
发表于 2020-5-26 15:43:00 | 显示全部楼层 |阅读模式
https://www.npmjs.com/package/react-router-config

  

这是我的目录,router文件 index.js 就是我的路由文件。 assembly 是引入组件的地方,那里配了懒加载

第一步: 安装

npm install --save react-router-config

  

第二步: 外面  index.js 引入

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux'  
import { persistStore } from 'redux-persist'   
import { PersistGate } from 'redux-persist/lib/integration/react';
import { renderRoutes } from "react-router-config";
import { BrowserRouter } from "react-router-dom"; 
import { store } from '@/store'
import routes from '@/router';  //引入路由文件

ReactDOM.render(
  <Provider store={store}>   {/* redux */}
    <PersistGate loading={null} persistor={persistStore(store)}>   {/* 数据持久化 */}
      <BrowserRouter>   {/* 路由 */}
        {renderRoutes(routes)}
      </BrowserRouter>
    </PersistGate>
  </Provider>,
  document.getElementById('root')
)

  

第三步: router index.js 文件

import { Home, Errors, Children01, Children02 } from './assembly';

const routes = [
  { path: '/404', component: Errors },
  //嵌套路由
  { path: '/home', component: Home,
    routes: [
      { path: "/home/01", component: Children01 },
      { path: "/home/02", component: Children02 },
    ]
  },
]

export default routes

  

第四步: home页面渲染子路由

import React, { Component } from 'react'
import { renderRoutes } from 'react-router-config';
import { Link } from "react-router-dom"; 

export default class Home extends Component {
  render() {
    const { routes } = this.props.route

    return (
      <div>
        <Link to='/home/01'>页面1</Link>
        <Link to='/home/02'>页面2</Link>
        {renderRoutes(routes)} //渲染子路由
      </div>
    )
  }
}

  



来源:https://www.cnblogs.com/yetiezhu/p/12966026.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部