[英]Unable to access element from array of JSON objects
我正在嘗試訪問JSON對象數組的特定元素。 要測試我只需:
{console.log(this.state.stockCharts)}
返回(在瀏覽器中):
很好,但是現在我要訪問特定元素。 說第一個要素。 我輸入:
{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
這是我從電話中得到的回報:
我兩次調用此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]})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.