gpt4 book ai didi

javascript - React 路由器在组件中抓取 URL 段

转载 作者:行者123 更新时间:2023-11-30 20:19:34 25 4
gpt4 key购买 nike

我在 React 中使用一个简单的路由器

  <Router>
<div>
<Switch>
<Route path="/" component={ Home } exact />
<Route path="/contact" component={ Contact } />
<Route path="/:slug" component={ Post } />
</Switch>
</div>
</Router>

我正在使用 REST 从博客中提取帖子,并有一个名为 Post 的路由器组件用于单个博客帖子。任何与 homecontact 不匹配的路由都使用 post 组件。

如何获取或传递 Post 组件中的路由 slug/url 段?例如,如果 url 段/slug 是 /some-blog-post-title,我想检索它,最好使用 React Router 函数/方法(如果存在)。

最佳答案

您可以在props.match.params 对象中获取参数。要获取 :slug 参数,您可以编写 props.match.params.slug

示例

class Post extends React.Component {
componentDidMount() {
this.getPost(this.props.match.params.slug);
}

componentDidUpdate(prevProps) {
if (prevProps.match.params.slug !== this.props.match.params.slug) {
this.getPost(this.props.match.params.slug);
}
}

getPost = slug => {
// ...
};

render() {
return <h2>{this.props.match.params.slug}</h2>;
}
}

关于javascript - React 路由器在组件中抓取 URL 段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51598202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com