React 集中配置式路由---React Router Config

这篇博客介绍了如何在React应用中使用React Router Config进行集中式的路由配置。内容包括npm包的安装、routers文件的创建、根路由的设置、在父路由下加载子路由的实现以及详细阐述了子路由的配置方法。

npm地址:

https://www.npmjs.com/package/react-router-config

安装:

npm install —S react-router-config react-router-dom

routers文件

import Layout from '../pages/layout/index'
import Child from '../pages/child/index'
import Err404 from '../pages/err404/index'
const routes = [
    {
        path: '/layout',
        component: Layout,
        name: 'layout',
        routes: [   //子路由
            {
                path: "/layout/child",
                component: Child
            }
        ]
    },
    {
        path: '*',
        component: Err404,
        name: "err404"
    }
]
export default routes

根路由文件

这里只会配置上routers文件的第一层,也就是说无法访问/layout/child

import React from 'react'
import { renderRoutes } from 'react-router-config'
import { HashRouter as Routers } from 'react-router-dom'
import routers from './router'
const RootRouters = () => {
    return (
        <Routers>
            {renderRoutes(routers)}
        </Routers>
    )
}
export default RootRouters

父路由下加载子路由

import React from 'react'
import routers from '../../router/router'
import { renderRoutes, matchRoutes } from 'react-router-config'
const Layout = (props) => {
    console.log(props);  
    //获取匹配router的compont
    console.log('matchRoutes', matchRoutes(routers, "/layout/child"));   
    return(
        <div>
            layout
            {
                {/* 渲染当前路由下的子路由所对应的组件,第二个参数是给子路由传入的额外自定义的参数 */}
                renderRoutes(props.route.routes,{ someProp: "these extra props are optional" })
            }
        </div>
    )
}
export default Layout

子路由

import React from 'react';
const Child = (props) => {
  console.log('props: ', props);
  return (
    <div>
      <h3>Grand Child</h3>
      {/* 拿到父路由组件传入的自定义属性 */}
      <div>{props.someProp}</div>
    </div>
  );
};
export default Child;
React RouterReact的一种路由管理工具,它允许我们在应用程序中建立路由,并通过不同的URL路径来加载不同的页面。 而react-router-configReact Router的一个附加库,它提供了一种以配置方式来定义应用程序路由的方法。 路由切入动画是指在切换页面时,为页面添加一些过渡效果和动画,以提升用户体验。 使用react-router-config实现路由切入动画的步骤如下: 1. 首先,在路由配置文件中定义各个页面的路由信息,并设置对应的组件。 2. 在路由配置文件中,为每个路由定义一个transition属性,用于标识该路由的过渡效果。 3. 在根组件中使用React Router提供的Switch组件来包裹所有路由,并使用TransitionGroup组件来包裹Switch组件。 4. 在根组件中使用自定义的AnimatedSwitch组件来替换React Router提供的Switch组件,并将路由配置文件传递给AnimatedSwitch组件。 5. 在AnimatedSwitch组件中根据当前路由的transition属性,为切换的页面添加不同的过渡效果和动画。 例如,可以定义一个FadeIn动画效果,在路由配置文件中为需要应用该动画效果的路由设置transition属性为'fade-in',然后在AnimatedSwitch组件中根据该属性为页面添加相应的CSS动画样式。 总而言之,使用react-router-config可以方便地配置应用程序的路由信息,并结合一些CSS动画库,可以实现各种炫酷的路由切入动画。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值