[英]TypeError: Cannot read property 'undefined' of undefined
我有这个数组:
super(props);
this.state = {
data: [{
baseCurrency: 'GBP',
baseAmount: 0,
convertToCurrency: 'USD',
rates: [],
currencies: []
},
]
}
当我尝试在 render() function 中访问它时,它给了我错误
const {货币,汇率,baseCurrency,baseAmount,convertToCurrency} = this.state.data;
常量结果 = Number.parseFloat(baseAmount * rates[convertToCurrency]).toFixed(2);
如果我没有用数组声明 this.state,那么这个问题就不会发生。
您只能传播特定的 object 因为this.state.data
是一个数组:
const [
{ currencies, rates, baseCurrency, baseAmount, convertToCurrency },
] = this.state.data;
并且更具可读性:
const [firstItem] = this.sate.data;
const {
currencies,
rates,
baseCurrency,
baseAmount,
convertToCurrency,
} = firstItem;
像这样解构数据
let res = { data: [{ baseCurrency: 'GBP', baseAmount: 0, convertToCurrency: 'USD', rates: [], currencies: [] }, ] } const { data: [{ baseCurrency, baseAmount, convertToCurrency }] } = res; console.log(baseCurrency, baseAmount, convertToCurrency);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.