我正在使用使用React Router v3的React教程。虽然我使用的是React Router v4。我将一个名为id
的参数从名为Root
的组件传递到另一个名为User
的组件。
export class Root extends React.Component {
render() {
return(
<div className="container">
<div className="row">
<div className="col-xs-10 col-xs-offset-1">
<Header />
</div>
</div>
<div className="row">
<div className="col-xs-10 col-xs-offset-1">
<hr/>
<Route exact path="/" component={Home}/>
<Route path="/user/:id" component={User}/>
<Route path="/home" component={Home}/>
{/*{this.props.children}*/}
</div>
</div>
</div>
);
}
}
我正在使用{this.props.match.params.id}
获取参数,如下所示。
export class User extends React.Component {
onNavigateHome() {
this.props.history.push("/home")
}
render() {
return (
<div>
<h3>The User Page</h3>
<p>User ID: {this.props.match.params.id}</p>
<button onClick={() => this.onNavigateHome()} className="btn btn-primary">Go home!</button>
</div>
);
}
}
使用教程{this.props.params.id}
。我是否以正确的方式使用{this.props.match.params.id}
? match
是什么意思?
答案 0 :(得分:1)
匹配是路由器路径匹配时路由器v4注入的反应属性。
匹配对象具有以下属性:
至于遵循V4的V3教程 - 我不推荐它,因为两个版本之间存在实质性的变化