在反应中直接从孩子修改父道具

use*_*265 2 javascript reactjs

在第 1 步中的向导中,我可以直接修改父道具,因此在安装第 2 步之后,该道具修改后的道具将可用吗?或者我应该怎么做?

向导组件,渲染

<Wizard>
  {this.state.step1 &&
    <Step1 dataWizard={this.state.dataWizard} />
  }
  {this.state.step2 &&
    <Step2 dataWizard={this.state.dataWizard} />
  }
</Wizard>
Run Code Online (Sandbox Code Playgroud)

Step1 组件

class Step1 extends React.Component {

  ...

  updateData() {
    this.props.dataWizard.idCreation = 432876;
  }
Run Code Online (Sandbox Code Playgroud)

Chr*_*isR 5

你应该使用状态,因为

道具是只读的

您应该在呈现 的组件中使用一个状态Wizard,当Step1完成时,它会更改该状态,然后将在Step2.

这称为提升状态