reactjs - 在 React 中按值复制道具
问题描述
我正在使用 TypeScript 开发 reactJS 应用程序。我创建了一个类:
export class A{
showLegend: boolean = true;
showToolTip:boolean = true;
showDataLabel:boolean = false;
legendText: string = "Smith-Chart";
showAnimation:boolean = false;
legendPosition:string = "Bottom";
showMarker:boolean = true;
showMarkerLines:boolean = true;
linesColor:string = "";
markerColor:string = "";
markerBorderColor:string = "";
markerBorderWidth:number = 2;
}
我的道具有这个类的两个对象:
let localCopy : A[]
constructor(props: any){
super(props);
localCopy = this.props.slice;
}
这确实将数据复制到localCopy
数组中,但是当我更新时localCopy
,实际的道具也会更新。
我怎样才能复制道具我的价值而不是通过引用?
解决方案
你可以通过这种方式不可变地复制
localCopy = {...this.props};
ES5 中的等价物是
localCopy = Object.assign({}, this.props);
推荐阅读
- azure-devops - 如何限制管道触发
- electron - 来自 loadURL 的电子桌面捕获器
- ruby-on-rails - Rails ActionController::ParameterMissing(参数丢失或值为空
- javascript - 无法弄清楚使值相加的逻辑
- c++ - 如何计算QString qt c ++中'\ n'的数量
- python - 混淆矩阵无法显示所有标签
- raspberry-pi - 添加 -t 4:float 选项时出现 MBPOLL 错误
- javascript - 如何确定在图表js上单击了哪个栏
- docker - Docker Stack LTS 总是会从头开始重新下载和重新创建 GHC
- windows-installer - Installshield 中的属性正在重置