将React组件作为道具传递

时间:2019-01-08 19:21:26

标签: reactjs

在我的主要组件中,我有一组组件,这些组件作为道具传递给子组件(在路线中)(this.state.commonProps.leftNavItems)。当我导航到子路径时,子组件呈现,我注意到作为prop传递给它的组件不是相同的实例,而是使用其默认值(而不是当前状态)呈现为新组件(new componentDidMount)。存在于父级中)。有没有办法传递组件实例本身并保持其状态,还是只能传递组件定义,当将它们作为道具传递给孩子时,最终会挂载全新的组件吗?

    <Route
      exact
      path="/"
      render={props => (
        <Layout
          leftNavItems={this.state.commonProps.leftNavItems}
          /* mainItems={simulationRunRequestsMainItems} */
          mainItems={null}
        />
      )}
    />
    <Route
      exact
      path="/simulation-runs"
      render={props => (
        <div>
          <SimulationRun
            commonProps={this.state.commonProps}
            refreshSimulationRuns={this.refreshSimulationRuns}
          />
        </div>
      )}

0 个答案:

没有答案