get parameter value from url using React Router
17,327
Solution 1
In case of anyone having this problem. The correct would be:
const userId = this.props.match.params.id;
05/2020 UPDATE USING REACT ROUTER V4 AND HOOKS
import { useParams } from 'react-router-dom';
//Then inside your component
const { id } = useParams();
Solution 2
You can try this
const id = this.props.computedMatch.params.id
Comments
-
kurniawan26 almost 2 years
I want to get the id value from this React Router:
<BrowserRouter basename="/api"> <Switch> <Route path="/pm" exact component={PaymentMethod}/> <Route path="/pw" exact component={PaymentWeb}/> <Route path="/rg" exact component={Registrasi}/> <Route path="/bonus/:id" exact component={BonusScreen}/> <Route path="/hb" exact component={HistoryBonus}/> </Switch> </BrowserRouter>
in my
BonusScreen
I tried to print the value by using this :const userId = this.props.match.id; console.log(this.userId);
from the browser I try to access the URL like this:
bonus/NGO628567652201
But it always returned
undefined
.
How can I fix this ?