![](/img/trans.png)
[英]How to pass location state and URL params using React-Router?
[英]How to validate url params with react-router?
我有一个网站,允许他们使用/widgets/:id
形式的网址。 我的窗口小部件不超过50个,因此/widgets/51
不是有效的网址。 id
大于50时如何呈现错误页面?
我应该在我的Widget组件中验证id
的值吗? 还是应该在路线级别进行验证? 另外,我希望显示错误页面的行为不会更改URL。 也就是说,如果用户导航到/widgets/51
我想显示一个错误页面,但是我希望浏览器中显示的URL继续读取/widgets/51
。
提前谢谢了!
如果您希望处理错误消息时URL不变,那么您应该具有测试Widget
组件中的参数的逻辑。 您应该按照以下步骤进行操作
render() {
if(this.props.match.params.id > 50) {
return <ErrorView/>
}else {
return <WidgetView/>
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.