我正在使用react-router(2.4.1),我有一个通配符(path =“*”)后备路由来显示“Not Found”组件。
我的一条路线定义如下:
<Route path="/campaigns/:category" component={CampaignsPage} />
我是否可以以任何方式验证category
路线参数,以检查我的类别列表中是否存在此类别?如果没有,我希望路由器下降到通配符以显示Not Found组件
答案 0 :(得分:0)
也许您可以在“广告系列”组件中验证收到的参数?有点像:
class CampaignsPage extends Component {
render() {
const validCampaignCats = [...]
const receivedCampaignCat = this.props.params.category
const renderChild = (actualCat, validCats) => {
if (!validCats.includes(actualCat)) {
return <YourErrorPage/>
}
return this.props.children
}
return (
<div>
<Header/>
{ renderChild(receivedCampaignCat, validCampaignCats) }
<Footer/>
</div>
)
}
}
希望有所帮助!