我有一个网站,允许他们的网址为/widgets/:id
。我的小部件不超过50个,因此/widgets/51
不是有效的网址。当id
大于50时,如何渲染错误页面?
我应该在我的Widget组件中验证id
的值吗?或者我应该在路线级别验证它?此外,我更希望显示错误页面的行为不会更改网址。也就是说,如果用户导航到/widgets/51
我想显示错误页面,但我希望在浏览器中显示的网址继续阅读/widgets/51
。
非常感谢提前!
答案 0 :(得分:2)
如果您希望在处理错误消息时URL没有改变,那么您应该具有测试Widget
组件中的参数的逻辑。你应该这样做
render() {
if(this.props.match.params.id > 50) {
return <ErrorView/>
}else {
return <WidgetView/>
}
}