React Native值未分配

时间:2017-12-19 21:37:15

标签: react-native

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

class Example extends React.Component {

  componentDidMount() {
    // If you need to load data from a remote endpoint place the action call here, like so:
    // this.props.createUrl('your-url');
  }

  render() {
    return (
      <div>
        <div>URL injected from the store, automatically refreshed on change: {this.props.url}</div>
        <div onClick={event => {this.props.createUrl('your-url');}}>Click me to fetch URL</div> 
      </div>
    )
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(Example)

印刷

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)

我仍然可以打印上一个值(&#34; 1&#34;)

react-native:0.49.3

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

thisMinor[key] = "2017"; 

1 个答案:

答案 0 :(得分:0)

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

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

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

希望有所帮助