簡體   English   中英

無法訪問JSON對象數組中的元素

[英]Unable to access element from array of JSON objects

我正在嘗試訪問JSON對象數組的特定元素。 要測試我只需:

{console.log(this.state.stockCharts)}

返回(在瀏覽器中):

返回JSON

很好,但是現在我要訪問特定元素。 說第一個要素。 我輸入:

{console.log(this.state.stockCharts[0])}

瀏覽器就像:nah mate

undefined

這可能真的很簡單,但是在過去的45分鍾里,我一直在用鍵盤敲打我的頭,但沒有任何效果。 多謝你們!

編輯1(對於Akrion)

我用來訪問API的查詢是:

https://www.alphavantage.co/query?function=TIME_SERIES_WEEKLY&symbol=MSFT&apikey=demo

這是我從電話中得到的回報:

調用Alpha Advantage API

我兩次調用此API,並在收到響應后將其推送到我的stockCharts數組:

this.state.stockCharts.push(result)

編輯2(適用於初學者)

我初始化狀態通常如何執行:

this.state = {
        stockCharts: []
}

我使用本地提供的api進行了驗證,並且可以獲取數據。

不建議您將API響應推送到stockCharts的第一件事。 這意味着不建議直接更改狀態。

您可以通過以下方式推送API響應

this.setState(prevState => ({
   stockCharts: [...prevState.stockCharts, result]
}));

現在在渲染

render(){
   this.state.stockCharts.map((data, i) => {
      console.log("data", data); // this will give each object
      console.log("Meta Data", data["Meta Data"]); //This will give meta data information
      console.log("Weekly Time Series", data["Weekly Time Series"]);// this will print weekly time information
   });
   return(

   )
}

這是您的期望嗎?

可能是因為您更改了不推薦的狀態。 嘗試而不是調用this.state.stockCharts.push(result)this.setState({stockCharts: [...this.state.stockCharts, result]})

https://reactjs.org/docs/state-and-lifecycle.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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