React Router - 使用可选参数的路由不起作用

时间:2016-12-23 07:22:00

标签: reactjs webpack react-router

我正在使用react和react-router。在我的react路由器配置中,我想添加一个接受以下URL的路由:http://localhost:7000/example/GUID其中GUID是用户当时登录的GUID。

我正在使用WebPack。

我去了react-router文档:https://github.com/ReactTraining/react-router/blob/master/docs/guides/RouteMatching.md#path-syntax

但是由于某种原因这不起作用,也许我错过了一些东西。

这是我的反应路由器配置:

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = 'DbUserName';
$db['default']['password'] = 'password';
$db['default']['database'] = 'dbName';
$db['default']['dbdriver'] = 'mysql';

当我转到http://localhost:7000/example时,它工作正常,它会加载示例组件。

但是当我去http://localhost:7000/example/GUID时,它不起作用。实际上,它不会加载任何东西。根据文档,"()"在路径路径中表示它是可选的。

还有什么我需要做才能使这项工作?我一直在摸着这个......

编辑:请在此处查看我的github项目:https://github.com/FredM7/react-base 该项目包括问题。

2 个答案:

答案 0 :(得分:1)

我也在使用这样的路径path: 'cn/*/cid/(:catZeroId)(/:catOneId)(/:catTwoId)'它对我来说完美无瑕。

你可能有反应路由器版本问题,我正在使用"react-router": "^3.0.0", "react-router-redux": "^4.0.6",

或者您可以创建https://jsbin.com/https://plnkr.co/来模拟您的案例。

答案 1 :(得分:0)

我要说的是您需要添加一个

<base href="/">

基本HTML页面的标题标签内的标签。

但是我只是查看了您的代码,您已经完成了。