开发者问题收集

无法访问状态对象属性

2017-09-29
155

在 state 中,我有一个带有 propertyA 的对象 a。propertyA 是一个数组。我在渲染对象 a 时使用 console.log 可以看到带有值的 propertyA。当我尝试使用 console.log a.propertyA 时,我得到了 undefined,但在 this.state.a 中使用相同数据渲染视图时,它可以正常工作。如何在第一次渲染时访问 propertyA?

  const A = this.state.a;
  console.log( A,  A.financial);

  // gives out

   {a: [{...}, {...}, {...}]}, undefined
2个回答
 const A = this.state.a;
  console.log( a,  A.financial);

  // gives out

   {a: [{...}, {...}, {...}]}, undefined

from the above code it seems that, this.state.a is an Array of objects. A.financial will be undefined as financial is not property of A

console.log( a,  A[0].financial);// should have output where 0 is array index.
console.log(A.hasOwnProperty('financial))//should be false.
Ved
2017-09-29

问题在于数据是通过承诺获取的。承诺并不正确。这就是为什么在所有数据可用之前设置状态的原因。

vuvu
2017-09-29