react-router transitionTo:不变违规:路径缺少 "splat" 参数
react-router transitionTo: Invariant Violation: Missing "splat" parameter for path
我正在使用 react-router 和 react。
我需要在 url 中使用查询字符串,如下所示:
let url = '/some/path/legal?id=2&name=QA_3%206*6*6';
this.context.router.transitionTo(url);
但是,它不执行重定向并抛出错误:
Unhandled promise rejection Error: Invariant Violation: Missing "splat" parameter for path "/some/path/legal?id=2&name=QA_3%206*6*6"
查询字符串中似乎不允许使用 splat (*)?
这个老版本的react-router我没用过,不过签名好像是:
routeName (string), params (object), query (unused)
所以尝试:
this.transitionTo('/some/path/legal', { id: 2, name: 'QA_3%206*6*6' });
我还以为是 query
but it seems that is unused.
编辑,OP 已测试,似乎已被使用,所以:
this.transitionTo('/some/path/legal', null, { id: 2, name: 'QA_3%206*6*6' });
也许考虑更新到至少 v1,它不再使用 transitionTo
。参见 https://github.com/rackt/react-router/blob/master/upgrade-guides/v1.0.0.md#navigation-mixin。
对我来说,这只是在转换到新路线时显式设置 splat
参数的情况:
router.transitionTo('help', {splat: 'content'});
鉴于我的路线是:
<Route path="help/*" handler={HelpPage}/>
我正在使用 react-router 和 react。
我需要在 url 中使用查询字符串,如下所示:
let url = '/some/path/legal?id=2&name=QA_3%206*6*6';
this.context.router.transitionTo(url);
但是,它不执行重定向并抛出错误:
Unhandled promise rejection Error: Invariant Violation: Missing "splat" parameter for path "/some/path/legal?id=2&name=QA_3%206*6*6"
查询字符串中似乎不允许使用 splat (*)?
这个老版本的react-router我没用过,不过签名好像是:
routeName (string), params (object), query (unused)
所以尝试:
this.transitionTo('/some/path/legal', { id: 2, name: 'QA_3%206*6*6' });
我还以为是 query
but it seems that is unused.
编辑,OP 已测试,似乎已被使用,所以:
this.transitionTo('/some/path/legal', null, { id: 2, name: 'QA_3%206*6*6' });
也许考虑更新到至少 v1,它不再使用 transitionTo
。参见 https://github.com/rackt/react-router/blob/master/upgrade-guides/v1.0.0.md#navigation-mixin。
对我来说,这只是在转换到新路线时显式设置 splat
参数的情况:
router.transitionTo('help', {splat: 'content'});
鉴于我的路线是:
<Route path="help/*" handler={HelpPage}/>