【发布时间】:2019-03-20 21:03:29
【问题描述】:
我正在尝试从 API 获取动态路由。当 URL 有参数时,我通过 API 请求发送它们并获取类型,并根据该类型呈现我的视图。
我想从 URL 中获取整个参数。 URL 可以是任意的,并且具有任意数量的参数。
示例网址:http://localhost:3000/type/article
App.js
<Route path="/:view" component={LayoutPage} />
布局页面
componentDidMount() {
this.doLoadView(this.props.match.params);
}
doLoadView(url) {
this.setState({ url: url});
console.log(url, 'match.params.view');
this.props.actionLoad(url);
}
在 match.params.view 上它给出了“类型”。我知道,因为我在 app.js 中定义了 /:view,所以输出只是第一个参数。但我想要完整的参数,即“类型/文章”。
【问题讨论】:
-
检查这个答案,我想它会为您提供有关您期望的信息stackoverflow.com/a/52752990/5928186
-
如果你只需要获取“路径名”,为什么你需要使用 react 参数而不仅仅是
window.location.pathname? -
@Maielo 这是一条出路,但我想知道反应路由器中是否有任何方法
-
我不确定我是否正确,但是,如果您需要两个参数,为什么不传递另一个参数呢? (/:view/:whatever)
-
@Bhawna 的答案是否解决了您的问题?如果您仍有问题,我们可以调查一下。让我们知道!
标签: reactjs ecmascript-6