如何访问react组件中的url参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何访问react组件中的url参数相关的知识,希望对你有一定的参考价值。

我有一个在路由上加载的react组件

我需要从组件构造函数中的url访问参数

我该怎么做?

我可以像这样访问它:

class CustomCoponent extends React.Component {
    constructor(props,{match}) {
    }
}
答案

您可以通过从react-router-dom道具获取参数来访问v4.x match中的路线参数。

在哪里定义路线,

import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';

...
<Router>
  <App>
    <Switch>
      <Route exact path="/" component={List} />
      <Route path="/:parameterToAccess" component={CustomComponent} />
    </Switch>
  </App>
</Router>
...

在您的组件中,

class CustomComponent extends React.Component {
   constructor(props) {
     super(props);
     this.routeParam = props.match.params.parameterToAccess;
   }
}
另一答案

你可以这样做:

class CustomCoponent extends React.Component {
    constructor({match, ...props}) {
        console.log(match.params)
    }
}
另一答案

如果使用路由,则可以指定路由以期望参数。

 <Route path='/yourpath/:ParamName' component={CustomCoponent}/> 

您的组件需要包含在withRouter HOC中,以便您访问它。

 import {withRouter} from 'react-router-dom';
class CustomCoponent extends React.Component {
constructor(props) {
   }
   //**ACCESS PARAMETER VALUE LIKE THIS**
   sample(){
      let Paramvalue=this.props.match.params.ParamName;
   }   
}
 export defualt withRouter(CustomCoponent);

以上是关于如何访问react组件中的url参数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React JS 中读取组件内的 URL 参数? [复制]

React JS - 如何将变量(参数)传递给 API URL?

在 react-router 渲染函数中访问 URL 参数

如何访问活动内部/从活动中的片段视图组件

react-router中的URL参数问题

如何将 Apollo 数据和 React Router 4 url​​ 参数传递给我的组件