如何将道具传递到React路由器

时间:2018-11-29 09:43:00

标签: reactjs router

我正在尝试使用反应路由器将道具传递给组件,如下所示:

   <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
            }}
          />

1 个答案:

答案 0 :(得分:1)

Login组件创建为路由的子代:

<Route path="/">
    <Login id={this.state.id} ... />
</Route>

UPD:正如trixn所指出的,最好仅在路线匹配时使用渲染功能来渲染组件

<Route path="/" render={ () => (
    <Login id={this.state.id} ... />
)}/>