React:使用强制查询字符串添加路由

时间:2018-08-11 03:28:40

标签: ruby-on-rails reactjs

我正在开发一个使用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 /> }

谢谢!

1 个答案:

答案 0 :(得分:1)

一种方法是在componentDidMount的{​​{1}}生命周期方法中检查url参数:

EventForm