Javascript 访问Axios数据(对象)
我想要这个中的“月度时间序列”数据。state={stockOne:[]}。 但是,由于“每月时间序列”api的数据格式在对象周围没有[],因此我很难访问数据。 是否有办法格式化此文件以访问数据并插入此.state 编辑:我可以在@Mohammed Ashfaq下面用答案来控制台.log(this.state.stockOne)和(this.state.stockOne[“2020-02-27”])。 但是,我无法将其传递给StockOne.js,因为this.props.StockOne返回空[],this.props.StockOne[“2020-02-27”]返回未定义Javascript 访问Axios数据(对象),javascript,reactjs,object,promise,axios,Javascript,Reactjs,Object,Promise,Axios,我想要这个中的“月度时间序列”数据。state={stockOne:[]}。 但是,由于“每月时间序列”api的数据格式在对象周围没有[],因此我很难访问数据。 是否有办法格式化此文件以访问数据并插入此.state 编辑:我可以在@Mohammed Ashfaq下面用答案来控制台.log(this.state.stockOne)和(this.state.stockOne[“2020-02-27”])。 但是,我无法将其传递给StockOne.js,因为this.props.StockOne返回空
import React from 'react';
import axios from 'axios';
import StockOne from '.././component/StockOne/StockOne.js'
const apiKey = '11111111111111';
class Main extends React.Component {
constructor(props) {
super(props);
this.state={
stockOne: []
};
}
componentDidMount(){
axios.get(`https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY&symbol=MSFT&apikey=${apiKey}`)
.then(res=>
{this.setState({stockOne:res.data["Monthly Time Series"]},
console.log(res.data["Monthly Time Series"]), /*returns {},{},{},...*/
console.log(res.data),
console.log(this.state.stockOne) /*returns undefined */
)
})
}
render() {
return (
<>
<StockOne stockOne={this.state.stockOne}/>
</>
)
}
}
export default Main;
setState是一个异步函数,因此它不会更新状态
立即估价。如果要检查更新的值,则
将回调函数作为第二个参数传递给setState和print
该cb中的状态变量
componentDidMount(){
axios.get(`https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY&symbol=MSFT&apikey=${apiKey}`)
。然后(res=>{
this.setState({stockOne:res.data[“每月时间序列”]},()=>{
log(res.data[“Monthly Time Series”]);/*返回{},{},{},{}*/
console.log(res.data);
console.log(this.state.stockOne);
})
})
}
能这么简单吗this.setState({stockOne:[res.data[“Monthly Time Series”]]}
?@admcfajin不幸的是,不谢谢你。我现在可以控制台.log(this.state.stockOne)。但是它仍然是单独的{},{}。我如何进入[]数组,以便在特定的时间挑选出特定的?this.state.stockOne[2019-01-31]返回错误。是否有单独访问数据的方法?请尝试此.state.stockOne[“2020-02-27”]好的另一个问题。即使在函数中,此.state.stockOne[“2020-02-27”],我似乎无法访问stockOne.js中的此.props.stockOne[“2020-02-27”]。
{
"Meta Data": {
"1. Information": "Monthly Prices (open, high, low, close) and Volumes",
"2. Symbol": "MSFT",
"3. Last Refreshed": "2020-02-27",
"4. Time Zone": "US/Eastern"
},
"Monthly Time Series": {
"2020-02-27": {
"1. open": "170.4300",
"2. high": "190.7000",
"3. low": "157.9800",
"4. close": "158.1800",
"5. volume": "790184525"
},
"2020-01-31": {
"1. open": "158.7800",
"2. high": "174.0500",
"3. low": "156.5100",
"4. close": "170.2300",
"5. volume": "555989763"
},
....}
}