当前位置: 首页 > 知识库问答 >
问题:

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

赵经国
2023-03-14

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

我需要从components构造函数中的url访问一个参数

我该怎么做呢?

我可以这样访问它吗:

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

共有3个答案

谭富
2023-03-14

你可以这样做:

class CustomComponent extends React.Component {
    constructor({ match, ...props }) {
        console.log(match.params)
    }
}
陈项禹
2023-03-14

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

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

您的组件需要包装在withRouter HOC中,才能访问此组件。

 import {withRouter} from 'react-router-dom';
 class CustomComponent extends React.Component{
   constructor(props){
   }
   //**ACCESS PARAMETER VALUE LIKE THIS**
   sample(){
      let Paramvalue=this.props.match.params.ParamName;
   }   
 }
 export default withRouter(CustomComponent);
潘璞瑜
2023-03-14

您可以通过从匹配道具获取参数来访问react-router-domv4. x中的路由参数。

定义路线的地方,

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;
   }
}
 类似资料:
  • 这是一个快速的问题,但到目前为止我还没有找到解决方案: 我想访问URL参数与react-router v4使用渲染方法。到目前为止,我发现的一切只是像这样传递组件: <代码> 但是我想使用这样的渲染方法: <代码> 但是,当我尝试在我的组件中使用访问参数时,道具是未定义的。 你知道我如何使用渲染函数并仍然访问url参数吗?

  • 问题内容: 我正在Google App Engine上的Django项目上工作。我有一个类似的网址: 请注意,这是我的urls.py中定义的URL参数,例如: 我想从中间件获取值,在中间件中将GAE数据存储名称空间设置为该值。 是否可以从中间件类方法中传递的请求对象中获取参数? 问题答案: 如果您使用中间件,则可以访问views参数,因此可以访问公司价值。看一下函数的定义: view_args是将

  • 这听起来像是垃圾,但我应该如何读取URL并从React JS中的URL获取其值。我被告知使用QueryString来处理GET参数。 Url具有以下结构: 在component类中,我使用以下代码: 问号符号是怎么也被重审的?如何修复它,使我能够在不做太多手工的情况下获得这些值?

  • 我有两个react项目父项目和公共项目(包含公共组件,如页眉、页脚) 我在父级中定义了素材主题,并使用以标准方式配置了素材主题。 但是,此主题对象在父级中定义的组件中可用,但在共享项目公共中不可用。 欢迎提出建议。 2020年10月30日更多详情添加如下 父组件 共享组件 共享组件样式 父组件将定义为红色,我希望在Header中应用同样的颜色,但它正在选择一个不同的主题(默认)对象,该对象具有蓝色

  • 我有react组件A,它呈现一个表。表中某一列的数据通过另一个组件B呈现,因此是的子级。每当用户单击页面上的任何位置时,我希望在上执行一些操作。此click事件侦听器是在中定义的。如何从类内循环所有?我的组件结构如下所示: 我遇到了,但当通过将子级作为道具传递时,这很有用;例如,当代码如下所示时:

  • 首先我要感谢所有聪明的程序员。更新后反应路由器Dom我面临这个问题。在这里我想提到一件事,我是一个“类组件”爱好者。 然而,这是我反应的基础组件。 这是我的下一个组件 我的路线在这里: 有人能告诉我,我怎么能通过它的url参数从基础组件中获取后组件中的数据?"匹配"对象在当前的react-router-dom更新中不工作。我需要类组件的帮助。