.map(),Undefined不是React Native中的函数
所以我调用API并将其用于setState。.map(),Undefined不是React Native中的函数
我的状态:
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框架。
未定义不是函数 (评价 'data.map(功能(记录){record.date * = 1000})')
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
});
});
}
编辑
似乎并不可能有一个与爱可信的问题,但只是为了排除这种可能,尽量使用内置的fetch模块并查看数据是否仍为空。
componentDidMount() {
fetch("apiurl")
.then(response => {
return response.json();
})
.then(data => {
let mappedData = data.map((record) => {record.date *= 1000});
this.setState({
candlesticks: mappedData
});
});
}
如果它为空,那么问题出在您的服务器上。
我意识到响应对象这是一个愚蠢的错误。谢谢。 – furball514
尽管从响应对象返回的数据全是'null'。 – furball514
我该如何解决这个问题? – furball514
可能你必须解析响应中的'data'。这可能类似于'data.body.map'或'data.content.map'。打印'data'来查看它真正包含的内容! – Sulthan
在我知道之前,我在网上使用了这些相同的数据。然而,我用jQuery然后。 – furball514