数据数组未定义 React Native
Posted
技术标签:
【中文标题】数据数组未定义 React Native【英文标题】:Data Array Undefined React Native 【发布时间】:2022-01-20 17:50:42 【问题描述】:我正在尝试以这种格式映射从 API 返回的数据:
data=[
x: 0, y: 0 ,
x: 1, y: 1 ,
x: 2, y: 2 ,
x: 3, y: 3 ,
x: 4, y: 4 ,
]
我有一个 get 调用,然后我映射每个项目给我一个 x , y 值:
getCryptoChartData('histohour', selectedCrypto, 24, 1).then(
cryptoChartData =>
//const response = cryptoChartData.Data.map(item => item.close);
const data = cryptoChartData.Data.map(item =>
[
x: item.time,
y: item.close,
,
];
);
return this.setState(cryptoChartData: data);
,
);
但是,我注意到数据数组设置为未定义:
<SlideAreaChart
data=this.state.cryptoChartData
/>
Am I setting the data array correctly with the mapping?
【问题讨论】:
【参考方案1】:是的,问题似乎出在映射上。您只是忘记返回生成的对象:
const data = cryptoChartData.Data.map(item =>
return
x: item.time,
y: item.close,
;
);
或
const data = cryptoChartData.Data.map(item => (
x: item.time,
y: item.close,
));
getCryptoChartData
方法的最终代码如下所示:
getCryptoChartData('histohour', selectedCrypto, 24, 1)
.then(cryptoChartData =>
const data = cryptoChartData.Data.map(item => (
x: item.time,
y: item.close,
));
this.setState( cryptoChartData: data );
);
【讨论】:
但我正在这样做 return this.setState(cryptoChartData: data); 你不需要那个return
。您需要在映射中使用return
。
如何更新 cryptoChartData 状态?如果没有设置?
我的意思只是return
。您仍然需要拨打this.setState(cryptoChartData: data);
谢谢,效果很好,为什么我做错了?以上是关于数据数组未定义 React Native的主要内容,如果未能解决你的问题,请参考以下文章
React Native HealthKit getDailyStepCountSamples 返回未定义或空数组
React Native 中的 FlatList 实现 - renderItem 功能不清楚? - 未定义的属性
React Native - 未定义不是对象(评估'Items.Length')
无法从 React-Native-Firebase(v6) Firestore 获取数据:未定义不是函数(靠近 '...this._firestore.native.collectionGet...'