Javascript 在react中直接从子级修改父级道具
在步骤1的向导中,我是否可以直接修改父道具,以便在安装步骤2后,该道具修改道具可用?或者我该怎么做 向导组件,渲染Javascript 在react中直接从子级修改父级道具,javascript,reactjs,Javascript,Reactjs,在步骤1的向导中,我是否可以直接修改父道具,以便在安装步骤2后,该道具修改道具可用?或者我该怎么做 向导组件,渲染 <Wizard> {this.state.step1 && <Step1 dataWizard={this.state.dataWizard} /> } {this.state.step2 && <Step2 dataWizard={this.state.dataWizard} />
<Wizard>
{this.state.step1 &&
<Step1 dataWizard={this.state.dataWizard} />
}
{this.state.step2 &&
<Step2 dataWizard={this.state.dataWizard} />
}
</Wizard>
道具
,与状态
一样,是只读的,不应进行变异
您应该使用回调:
<Step1
dataWizzard={this.state.dataWizzard}
updateData={idCreation =>
this.setState(prevState => ({
dataWizzard: {
...prevState.dataWizzard,
idCreation,
},
}))
}
/>
道具
,与状态
一样,是只读的,不应进行变异
您应该使用回调:
<Step1
dataWizzard={this.state.dataWizzard}
updateData={idCreation =>
this.setState(prevState => ({
dataWizzard: {
...prevState.dataWizzard,
idCreation,
},
}))
}
/>
你应该使用状态,因为 您应该在呈现
向导的组件中使用状态,当步骤1
完成时,它会更改该状态,然后将在步骤2
中使用该状态
这被称为。您应该使用状态,因为
您应该在呈现向导的组件中使用状态,当步骤1
完成时,它会更改该状态,然后将在步骤2
中使用该状态
这被称为。道具是只读的,您不应该直接覆盖它。您可以在父组件中使用一种方法,通过this.setState
更新状态。并为您的Step1
组件传递该方法。props
是只读的,您不应该直接重写它。您可以在父组件中使用一种方法,通过this.setState
更新状态。然后将该方法传递给步骤1
组件。
updateData() {
this.props.updateData(432876);
}