我正在尝试使用反应路由器将道具传递给组件,如下所示:
<Login
id={this.state.id}
password={this.state.password}
onChange={this.onChange}
onSubmit={this.onSubmit}
error={this.state.error}
/>
我如何使用React Router来做到这一点?如何在组件本身中使用它?
我尝试了这个,但是不起作用:
<Route
path="/"
component={Login}
components={{
id: this.state.id,
password: this.state.password,
onChange: this.onChange,
onSubmit: this.onSubmit,
error: this.state.error
}}
/>
答案 0 :(得分:1)
将Login
组件创建为路由的子代:
<Route path="/">
<Login id={this.state.id} ... />
</Route>
UPD:正如trixn所指出的,最好仅在路线匹配时使用渲染功能来渲染组件
<Route path="/" render={ () => (
<Login id={this.state.id} ... />
)}/>