笔记二十二、使用路由state进行传递参数

22.1 父组件设置state路由参数

className={this.activeStyle}>classify

父组件 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' : "";
    };
    state = {name: 'elendaLee', age: 20};

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

 22.2 子组件获取state参数

import React from 'react';
import {useLocation} from "react-router-dom";

const Classify = () => {
    // 两次结构赋值
    const {
        state: {
            param_C, param_D
        },
    } = useLocation();
    return (
        
分类的页面
父组件home传递的参数1:{param_C} 父组件home传递的参数2:{param_D}
); } export default Classify;

路由表无需改动

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: ,
    }
]

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