sách gpt4 ai đã đi

javascript - 对象在控制台中打印,但无法使用它来设置状态 - ReactJS

In lại 作者:行者123 更新时间:2023-12-03 01:31:55 25 4
mua khóa gpt4 Nike

我正在向 API 请求某个日期范围内的加密货币价格,并将结果存储在数组中。目标是在页面加载时用这些价格填充折线图,但我一直无法弄清楚为什么在 console.log 时打印 pricesArr但如果我尝试 this.setState({dataArr: ratesArr}) ,则会收到 TypeError: Cannot read property 'setState' of undefined.

pricesArr 中的对象在控制台中打印,如下所示:

[{USD: 7629.4, EUR: 6503.14}, {USD: 6754.4, EUR: 5432.14} ... ]



class App extends Component {

constructor(props) {
super(props);
this.state = {
dataArr:[]

}
}


getData(){

var url = 'https://min-api.cryptocompare.com/data/pricehistorical?fsym=BTC&tsyms=USD,EUR&ts='

let pricesArr = []
for (let i=1; i <= 30; i++) {
const num = i.toString()
const date = new Date('2018.06.' + num)
const unixTimestamp = date / 1000
const api_url = url + unixTimestamp

if (i % 5 === 0 || i === 1) {
axios.get(api_url)
.then(res => {
var obj = res.data['BTC']
pricesArr.push(obj)
})
}
}

this.setState({dataArr: pricesArr})
}

componentDidMount () {
this.getData()
}


render() {
trở lại (

Hi

);
}
}

export default App;

1 Câu trả lời

奇怪的是你的cái này未定义。试试这个。

  getData = () => {

var url = 'https://min-api.cryptocompare.com/data/pricehistorical?fsym=BTC&tsyms=USD,EUR&ts='

let pricesArr = []
for (let i=1; i <= 30; i++) {
const num = i.toString()
const date = new Date('2018.06.' + num)
const unixTimestamp = date / 1000
const api_url = url + unixTimestamp

if (i % 5 === 0 || i === 1) {
axios.get(api_url)
.then(res => {
var obj = res.data['BTC']
pricesArr.push(obj)
})
}
}

this.setState({dataArr: pricesArr})
}

关于javascript - 对象在控制台中打印,但无法使用它来设置状态 - ReactJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51256066/

25 4 0
Bài viết được đề xuất: Javascript - Lập trình GUI
Bài viết được đề xuất: javascript - 对反转数组感到困惑
Bài viết được đề xuất: javascript - 火力地堡 'requires-recent-login'
Bài viết được đề xuất: javascript - 拼接后更新 JSON 文件
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com