使用React从URL提取值

时间:2019-02-25 10:59:18

标签: reactjs

我正在使用React,我需要将用户导航到个人资料页面,即mydomain.com/profile/myusername,但是我不确定如何从网址中提取“ myusername”?我的代码段如下,请帮忙!

非常感谢

路由

class App extends Component {
    render() {
        return (
            <BrowserRouter>
                <div>
                    <Route path="/" component={Main} exact />
                    <Route path="/profile" component={Profile} exact />
                </div>
            </BrowserRouter>
        );
    }
}

export default App;

我的超链接

<Link to={`profile/${obj.username}`}>{obj.username}</Link>

我的个人资料页面

import React, { Component } from 'react';

class Profile extends Component {

  componentDidMount() {
  }

  render() {

    return (
      <div>
        <h1>myusername</h1>
      </div>
    );
  }
}

export default Profile;

3 个答案:

答案 0 :(得分:2)

您必须像这样声明您的路线

<Route path="/profile/:username" component={Profile} exact />

然后在您的组件中,可以使用以下命令访问用户名:

this.props.match.params.username

赞:

render() {
  return (
    <div>
      <h1>{ this.props.match.params.username }</h1>
    </div>
  );
}

答案 1 :(得分:0)

您可以如下定义路线:

<Route path="/profile/:id" component={Profile} exact />

在组件中:

const id = this.props.match.params.idj

答案 2 :(得分:0)

您可以如下定义路线,

<Route path="/profile/:username" component={Profile} exact />

然后在您的组件中访问用户名,

this.props.match.params.username