笔记十九*、选中高亮和嵌套路由使用

19.1 选中高亮 NavLink

App.jsx

import React from "react";
import {NavLink, useRoutes} from "react-router-dom";
import routes from "./routes/index.jsx";
import "./app.css"

const App = () => {
    const element = useRoutes(routes);
    // 选中高亮
    const activeStyle = ({isActive}) => {
        return isActive ? 'background' : "";
    };
    return (
        
打开首页的页面
打开关于的页面
{element}
); } export default App;

19.2 嵌套路由

home(首页的页面)中嵌套两个字路由,并对字路由设置选中高亮

Home/index.jsx -> 类组件

import React from "react";
import {NavLink, Outlet} from "react-router-dom";

class App extends React.Component {

    // 类组件中不能用const定义变量
    // 选中高亮
    activeStyle = ({isActive}) => {
        return isActive ? 'background' : "";
    };

    render() {
        return (
            
首页的页面
classify navigation
{/**/}
); } } export default App;

路由表 routes

import {Navigate} from "react-router-dom";
import Home from "../components/Home";
import About from "../components/About";
import Classify from "../components/Home/components/Classify.jsx";
import Navigation from "../components/Home/components/Navigation.jsx";

export default [
    {
        path: '/home',
        element: ,
        children: [
            {
                path: 'classify',
                element:
            },
            {
                path: 'navigation',
                element:
            },
        ]
    },
    {
        path: '/about',
        element: ,
    },
    {
        path: '/',
        element: ,
    }
]

下面附一张文件结构图

笔记十九*、选中高亮和嵌套路由使用_第1张图片 

你可能感兴趣的:(#,React,笔记,javascript,前端)