我有一个组件,它从父组件接收props中的json对象,而填充json对象的API调用仅在父组件中进行。
我的问题是如何在子组件中定义状态以保存json对象prop的值。我将json对象作为状态存储在child中,因为它是子组件中的更新或取消更新情况,所以我基本上声明为-dataCopy
,dataOriginal
,并在取消更新时尝试更改{{1} }到dataCopy
,并在更新保存操作时反转。
由于将props中的值复制为参考,而且由于json对象可能是动态的,因此我很困惑,因此如果我执行dataOriginal
,则无法将内部数据定义为dataCopy.some1.some2 = something
。
答案 0 :(得分:0)
我认为您正在寻找的是componentDidUpdate()
,但在使用时要非常小心。
请阅读-> https://reactjs.org/docs/react-component.html#componentdidupdate
答案 1 :(得分:0)
在将动态道具对象设置为您的状态时,尝试使用传播运算符...object
。
this.setState({dataCopy:{...this.props.object}})