"react-router": "^1.0.2"
这是重定向路线:
javascript
<Redirect from="/organize/folder(/:id)" to="/organize/(:id)" />
其中id
的形状为someUser:88
因此,给定URL:
http://localhost/organize/folder/someUser:88
我们希望重定向能将我们带到:
http://localhost/organize/someUser:88
但是,:
似乎正在进行查询字符串解析,结果是:
http://localhost/organize/someUser%3A88
因此,解析后的字符串有效,但以前版本的react router会维护未解析的id
,并将其传递给重定向。
我可能缺少什么吗?也许是一个不自动解析参数的配置选项?我尝试了使用:
以外的其他字符,例如~
,所有其他字符似乎都能工作。
也许是react路由器在某个地方解析参数的:
,并最终解析所有这些参数?
提前谢谢。
colon
用于解析变量。
这是我的解决方案:
function enterIndex(nextState, replace) {
replace('/folder/someUser:88');
}
...
<IndexRoute onEnter={ enterIndex } />
...
或
<Route path="folder/:id" onEnter={ enterIndex } />
希望它能帮助你。