簡體   English   中英

TypeError:無法讀取未定義的屬性“未定義”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM