javascript - 使用动态道具 json 对象更新状态
问题描述
我有一个组件从父组件接收 props 中的 json 对象,并且填充 json 对象的 API 调用仅在父组件中进行。
我的问题是如何在子组件中定义状态以保存 json 对象道具的值。我将 json 对象作为状态存储在子组件中,因为它是子组件中的更新或取消更新情况,所以我基本上状态为 - dataCopy
,dataOriginal
,并且在取消更新时我尝试更改dataCopy
为dataOriginal
并在更新保存操作时反转。
我被卡住了,因为 props 中的值被复制为参考,而且因为 json 对象可能是动态dataCopy.some1.some2 = something
的,所以如果我这样做,那么它不可能在内部状态中我将数据定义为dataCopy:{}, dataOriginal:{}
.
解决方案
我认为您正在寻找的是componentDidUpdate()
但是在使用它时要非常小心。
请阅读 --> https://reactjs.org/docs/react-component.html#componentdidupdate
推荐阅读
- node.js - 启动 MongoDB 副本集
- python - 从抓取的数据创建嵌套字典(Scrapy Python)
- python - 如何使用 IBapi 获取市场订单的成交价格?
- html - 如何在不重新加载页面 FLASK 的情况下更新 HTML 图像
- cmake - 你如何让 CMake 打印 *all* 命令而不仅仅是构建命令?
- javascript - 显示用户搜索的结果,最多使用三个输入
- apache-kafka - 带有数据转换的 Spring Cloud Stream Kafka
- firebase - 在flutter firestore中使用.data []时出现“未定义运算符'[]'”错误
- reactjs - 将 Material UI 的 Text 字段从黑色更改为白色
- javascript - Firebase 数据到 HTML 会影响样式