【发布时间】:2021-02-15 19:27:45
【问题描述】:
我正在尝试在 React Router 中发送参数并遇到错误
参考代码 在我的 Route.js 中,我添加了 browserRouter 和 Route
function AppRoute() {
const classes = useStyles();
return (
<BrowserRouter>
<div className={classes.root}>
<div className='App-header'>
<Grid container justify="center" className={classes.root} spacing={2} alignItems="center">
<Grid item xs={3}>
<Paper className={classes.paper} >
<Link to='/'>Dashboard</Link>
</Paper>
</Grid>
<Grid item xs={3}>
<Paper className={classes.paper} >
<Link to='/create'>Create</Link>
</Paper>
</Grid>
<Grid item xs={3}>
<Paper className={classes.paper} >
<Link to="/edit/john">Edit</Link>
</Paper>
</Grid>
<div>
<Switch>
<Route exact path="/" component={Dashboard} exact={true} />
<Route exact path="/create" component={Create} />
<Route path="/edit/:name">
<Edit />
</Route>
</Switch>
</div>
</Grid>
</div>
</div>
</BrowserRouter>
)
}
Edit.js
function Edit() {
const { name } = useParams();
return (
<div>
Name - {name}
</div>
)
}
【问题讨论】:
-
你使用的是什么版本的 react-router-dom?您是否可以创建一个 running 代码框来重现此问题,以便我们进行实时调试?
-
您使用的是
useContext而不是useParams。这就是错误所暗示的。 -
@johnnypeter 这很可能是
useParams钩子实现。它正在访问最近的Router的路由上下文。
标签: reactjs react-hooks react-router-dom