如何在React Router 4中实现动态路由?

如何在React Router 4中实现动态路由?,第1张

如何在React Router 4中实现动态路由

在您的服务器中

ArticleCard
,您必须创建一个
link
将路由到您的完整主机
Article
。这个环节将包括
id
你试图渲染的文章(前。
articles/${article._id}

通过

Route
组件的路径编写
Article
articles/:id
,这将使我们能够捕获渲染
id
时的
Article
内容(可通过访问
this.props.match.params.id

然后,假设

id
用于从一些其他的API获取的文章,一个好地方调用这将是
componentDidMount
你的
Article
组件。

这是一个小示例,可能会对您有所帮助:

import React from 'react'import {  BrowserRouter as Router,  Route,  link,  Switch} from 'react-router-dom'const ParamsExample = () => (  <Router>    <Switch>      <Route exact path="/" component={ArticleList} />      <Route path="/articles/:id" component={Article} />    </Switch>  </Router>)const article = {  _id: 1,  title: 'First Article'};const ArticleList = () => (  <div>    <ArticleCard key={article._id} article={article} />  </div>);const ArticleCard = ({ article }) => (  <div>    <h2>{article.title}</h2>    <link to={`/articles/${article._id}`}>SEE MORE</link>  </div>);class Article extends React.Component {  componentDidMount() {    console.log('Fetch API here: ', this.props.match.params.id);  }  render() {    return (      <div>        {`Fetching...${this.props.match.params.id}`}      </div>    );  }}export default ParamsExample


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5016216.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存