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

如何将道具传递到React路由器[复制]

洪开诚
2023-03-14

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

   <Login
            id={this.state.id}
            password={this.state.password}
            onChange={this.onChange}
            onSubmit={this.onSubmit}
            error={this.state.error}
          />

我如何做到这一点,但与反应路由器,我如何在组件本身使用它?

我试过这个,但不起作用:

  <Route
            path="/"
            component={Login}
            components={{
              id: this.state.id,
              password: this.state.password,
              onChange: this.onChange,
              onSubmit: this.onSubmit,
              error: this.state.error
            }}
          />

共有1个答案

郦磊
2023-03-14

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

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

UPD:正如trixn所指出的,最好只在路由匹配时使用render函数来渲染组件

<Route path="/" render={ () => (
    <Login id={this.state.id} ... />
)}/>
 类似资料:
  • 例如: 我如何传递一些东西到,以便我可以通过在组件中访问它?

  • 我对反应和试图理解如何传递道具很陌生。 首先,我设置了一个Navlink组件,该组件包含子类别属性: ,,都是从json文件中获取的,所以这部分是可以的。 每条路线的定义如下: 所以它呈现一个名为

  • 我有一个模态,我想在其中放置一个动态嵌套视图。我认为这样做的一个好方法是像这样使用 我想把一些道具传给这些组件,就像我平时在React中一样 最终,我将移动到存储/获取状态中的这些属性,但是考虑到当前的实现,在定义开关

  • 我使用的反应与反应路由器的项目,我需要传递道具的子组件从路由。 我有这样的设置: App.js Home.js 问题是主组件总是给出错误“未定义”。我无法理解如何解决这个问题。如果我从Home.js中移除道具,组件渲染就很好。但当我尝试访问道具时,会出现错误。

  • 问题内容: 我无法克服React Router的问题。场景是我需要让子级路由从状态父级组件和路由传递一组道具。 我想做的就是通过它,然后通过它。但是,我能弄清楚如何做到这一点的唯一方法是同时通过两者,这意味着每条子路线都会获得每条子道具,而不论其是否相关。目前,这并不是一个阻塞问题,但是我可以看到有一段时间我将使用两个相同的组件,这意味着propA上的键将被propB的键覆盖。 这实际上以我期望的

  • 我试图使用react router将props从app.jsx传递到某个路由组件,但出现以下错误