React Router v6后如何在Component中获取参数

答案:试过各种方案,都很复杂,不行,只能用hook。

除了把Component改造成FC,还有个方案是自己包一层FC:

MyWrapper:

import { useParams } from 'react-router-dom';
import YourComponent  from './YourComponent ';

function MyWrapper() {
    const { id } = useParams();
    return (
        <YourComponent id={Number(id)} />
    );
}

export default MyWrapper

YourComponent:

import { Component } from 'react';
import './YourComponent.css'

interface Prop {
    id: number
}

interface State {

}

let DEFAULT_ROWS = 20
let DEFAULT_COLS = 6

class YourComponentextends Component<Prop, State> {
...
}

 

Leave a Reply

Your email address will not be published.