因此,我调用一个API并将其用于setState。
我的状态:
state = {
candlesticks: []
};我的API调用和承诺函数:
componentDidMount() {
axios
.get(
"apiurl"
)
.then(data => {
let mappedData = data.map((record) => {record.date *= 1000}); //getting the error here with the map()function
this.setState({
candlesticks: mappedData
});
});
}我尝试过不同的代码变体,但仍然会出现这个错误。我在用世博框架。
未定义的函数不是一个函数(计算‘data.map(函数(记录){record.date *= 1000})')
发布于 2017-05-25 13:26:14
Axios返回一个响应对象。在响应中,您使用数据具有一个数据属性。
所以你需要做的是:
componentDidMount() {
axios.get("apiurl")
.then(response => {
let mappedData = response.data.map((record) => {record.date *= 1000}); //getting the error here with the map()function
this.setState({
candlesticks: mappedData
});
});
}编辑
axios似乎不可能出现问题,但是为了排除它,尝试使用内置的获取模块,看看数据是否仍然为空。
componentDidMount() {
fetch("apiurl")
.then(response => {
return response.json();
})
.then(data => {
let mappedData = data.map((record) => {record.date *= 1000});
this.setState({
candlesticks: mappedData
});
});
}如果它是空的,那么问题就在您的服务器中。
https://stackoverflow.com/questions/44180948
复制相似问题