我正在开发一个使用Rails和React的项目,该版本的react-router版本为4.2.0,而react-router-redux 5.0.0-alpha.9。这是我第一次使用React,但路由遇到麻烦。
在routes.jsx文件中,我具有以下路径:
const routes = [
{ path: /\/events\/(\d)$/, action: () => <EventForm /> },
];
当我在浏览器中输入http://localhost:3000/events/2
时,我会得到内容。
我想修改我的路线,因此除非附加了userToken
作为查询字符串,否则该链接将无效。 (我知道这不是最佳的安全做法,但对于本项目而言是有效的)
例如,以下链接http://localhost:3000/events/2
不起作用,但是链接http://localhost:3000/events/2?userToken=abc
应该起作用。
我尝试了这些选项,但是没有用:
{ path: /\/events\/(\d)\?userToken\=(\w)$/, action: () => <EventForm /> }
{ path: /\/events\/(\d)\?userToken=[\w]$/, action: () => <EventForm /> }
谢谢!
答案 0 :(得分:1)
一种方法是在componentDidMount
的{{1}}生命周期方法中检查url参数:
EventForm