所以我调用了一个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
});
});
}
我在代码上尝试了不同的变体,但它仍然会出现此错误。 我正在使用Expo框架。
undefined不是一个函数 (评估'data.map(function(record){record.date * = 1000})')
答案 0 :(得分:2)
Axios返回response个对象。在回复中,您拥有包含数据的数据属性 所以你需要做的是:
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的问题,但只是为了排除它,尝试使用内置的fetch模块并查看数据是否仍然为空。
componentDidMount() {
fetch("apiurl")
.then(response => {
return response.json();
})
.then(data => {
let mappedData = data.map((record) => {record.date *= 1000});
this.setState({
candlesticks: mappedData
});
});
}
如果它为null,则问题出在您的服务器上。