Javascript 可由道具或状态更新的React组件

Javascript 可由道具或状态更新的React组件,javascript,reactjs,Javascript,Reactjs,我有一个react组件,用户可以在其中填写表单,但如果他们上传图像,它将在表单中的某些字段中预先填充。因此,在表单中输入信用卡号码,但如果用户上传信用卡图片,则会填写一些字段 所以你可能会有这样的想法: const mapStateToProps = (response) => ({ ccNumber: response.ccImage.ccNumber, }); const mapDispatchToProps = dispatch => ({ evaluateCcImag

我有一个react组件,用户可以在其中填写表单,但如果他们上传图像,它将在表单中的某些字段中预先填充。因此,在表单中输入信用卡号码,但如果用户上传信用卡图片,则会填写一些字段

所以你可能会有这样的想法:

const mapStateToProps = (response) => ({
  ccNumber: response.ccImage.ccNumber,
});
const mapDispatchToProps = dispatch => ({
  evaluateCcImage: props => dispatch(evaluateCcImage(props)),
})
但我有一个组件

<div id="ccNumber">
  {this.props.ccNumber}
</div>

{this.props.ccNumber}

但是如果我希望用户能够更新这个,我希望它是state。我是否应该使用
componentWillReceiveProps
此.props.ccNumber
转换为
此.state.ccNumber
,然后允许用户编辑它?

当上传成功时,您应该考虑使用componentdiddupdate更新状态。您需要提供一个工作代码沙盒或代码段链接,以获得更好的性能help@simbathesailor
componentdiddupdate
将是一个错误的事件。如果您在此处设置道具的状态值,您将触发另一个渲染周期与工作流相关的一般问题是,如果我手动输入
ccNumber
,然后上载图像会怎么样?黄金来源是什么?UserInput或服务器的Response?Rajesh——这并不直接适用于我的问题,但为了简单起见,让我们假设图像上载触发字段被覆盖。