reactjs - 父组件对象在没有设置状态的情况下发生变化
问题描述
至于反应是关注,我们可以使用 setState 改变状态,即这里 setdummyData,在下面的代码父组件中,初始化 dummyData 对象头:2017 并将对象传递给子组件并将对象更改为 dummyData.header = 2018 ,但父组件对象正在改变。
我可以知道背后的原因。
请参考下面的片段
import React, { useState } from "react";
import Child from "./Child";
const Parent = () => {
const [dummyData, setdummyData] = useState({ header: 2017 });
console.log("-dummyData-", dummyData);
return <Child dummyData={dummyData} />;
};
export default Parent;
const Child = (props) => {
let dummyData = props.dummyData;
dummyData.header = 2018;
return <div> {dummyData.header} </div>;
};
export default Child;
解决方案
您必须始终使用 setState 来更改状态,而不是直接更改道具或状态。
推荐阅读
- java - 如何在流中使用 If 语句?
- html - 如何让视频背景覆盖整个页面
- tensorflow - TensorFlow:没有打印输出查找嵌入
- java - 如何在 Spring Boot 应用程序的 Dockerfile 中访问 Gradle 属性
- html - 如何使用 angularjs 将一个输入值绑定或复制到另一个输入中?
- java - org.springframework.boot:spring-boot-starter-parent:pom:2.0.2.RELEASE 传输失败
- python - 坐标列表中的半径搜索
- angular - Angular2输出EventEmitter.emit不工作
- python - reticulate 不适用于 R-Data 框架和 Python 中的 fit() 函数(TypeError:'float' 对象不能解释为整数)
- go - 如果数据类型从字符串更改为布尔数据存储将引发错误