Примечание: Я предоставил свой ответ с useParams
, так как ваш первоначальный вопрос касался его. Кроме этого, если вам нужно использовать компонент класса, обычно this.props.match.params.id
должен работать, так как вы используете свой компонент через Route
.
. Вы должны использовать useParams
в вашем Edit
компоненте, и это должен быть компонентом функции.
function Edit() {
const { id } = useParams();
return (
<div>{id}</div>
)
}
Кроме того, я не знаю, какую версию React Router вы используете, но если вы не используете v6, вы, вероятно, захотите использовать часть Route следующим образом:
<Router>
<Switch>
<Route path="/edit/:id" component={Edit} exact />
</Switch>
</Router>