我是Js和React的新手,在我的第二学期中,我必须应用Macro营养素。
问题是我想使用一个带有状态值的饼图。
用于饼图的已发布的react-native-chart-kit
u在此链接上可以看到:https://www.npmjs.com/package/react-native-chart-kit
我尝试了
Piechart
<PieChart
width={screenWidth}
data={{
datasets: [{
data: [
{ name: 'Glucide', nb:this.state.glucide, color: '#F00', legendFontColor: '#F00', legendFontSize: 15 },
{ name: 'Proteine', nb: this.state.protaine, color: '#4250f4', legendFontColor: '#4250f4', legendFontSize: 15 },
{ name: 'Lipide', nb: this.state.lipide, color: '#04e578', legendFontColor: '#04e578', legendFontSize: 15 },
]
}]
}}
height={220}
accessor="nb"
chartConfig={chartConfig}
backgroundColor="transparent"
absolute/>
,我得到TypeError:l.map不是一个函数。 (在“ l.map(c)”中,“ l.map”未定义
答案 0 :(得分:1)
l.map不起作用,此错误通常是由于变量调用.map()不是数组引起的。
在这种情况下,您应该将数据数组直接传递给数据
const data = [
{ name: 'Glucide', nb:this.state.glucide, color: '#F00', legendFontColor: '#F00', legendFontSize: 15 },
{ name: 'Proteine', nb: this.state.protaine, color: '#4250f4', legendFontColor: '#4250f4', legendFontSize: 15 },
{ name: 'Lipide', nb: this.state.lipide, color: '#04e578', legendFontColor: '#04e578', legendFontSize: 15 }
]
<PieChart
width={screenWidth}
data={data}
height={220}
accessor="nb"
chartConfig={chartConfig}
backgroundColor="transparent"
absolute
/>