React Native值未分配

问题描述 投票:1回答:1

我对原生的反应相当新,所以不确定是什么微妙导致我的价值不被分配。

console.log("NEW VALUE", this.props.appConfig.forms["reg1"].lists[refKey].list[thisMinor[key]]);
let thisYear = this.props.appConfig.forms["reg1"].lists[refKey].list[thisMinor[key]];
console.log("thisYear", thisYear);
thisMinor[key] = thisYear;
console.log("thisMinor[key]", thisMinor[key]);

印花

NEW VALUE, "2017"
thisYear, "2017"
thisMinor[key], "1" (what I would expect to be the previous value)

即使我将分配更改为硬编码

thisMinor[key] = "2017"; 

我仍然打印上一个值(“1”)

反应原生:0.49.3

编辑:我在创建对象时添加了以下行,现在我可以分配变量。我想反应不会完全复制对象,我假设只是一个引用,也不能分配?在很多情况下,我能够分配新对象并修改值而无需执行此分配,因此不确定实际问题,但如果有人遇到此问题,这是一个解决方案。

let thisMinor = {};
thisMinor = Object.assign(thisMinor, regMinors[i]);
react-native
1个回答
0
投票

事实上,这是一个JavaScript问题,不完全是React Native。下次你可以问正确的标签时这么说。

案例是你的thisYear变量返回一个字符串2017。我猜你的key索引正在返回2,所以当你试图访问thisYear[key]实际上你正在返回字符串的索引2,其值为1

'2' = 0
'0' = 1
'1' = 2
'7' = 3

希望能帮助到你

© www.soinside.com 2019 - 2024. All rights reserved.