使用React Router时可以限制参数列表吗?

时间:2016-05-26 02:47:12

标签: reactjs react-router

在项目中使用React和React-Router,我想知道是否可以限制param名称的可能性,如下所示:

www.mydomain.com/books/:id

并允许麦田里的守望者'并且'杀死一只知更鸟'通过,像这样:

www.mydomain.com/books/catcher-in-the-rye
www.mydomain.com/books/to-kill-a-mocking-bird

我想说只有一套特定的书籍可以用来代替:id(只是有人可以在www.mydomain.com/books/whatever-they-want中输入并且空了React组件渲染)。

我现在有一个' *'抓住任何未提及的东西的路线,但因为params是根据传递的内容动态生成的,在这种情况下不会有帮助。

这可能吗?感谢。

1 个答案:

答案 0 :(得分:1)

您需要在组件中处理此逻辑。根据这是否是已安装的组件,您需要将逻辑放在适当的函数中(componentDidMount,componentWillReceiveProps)

if(!(this.props.params.id in myAcceptableParameters)){
    redirect to a 404 here
}