Реагируйте на собственные J - TypeError: l.map не является функцией - PullRequest
0 голосов
/ 11 июня 2019

Я новичок в Js и React, в моем семестре 2 я должен подать заявку на Макронутриент.

Проблема в том, что я хотел бы использовать Piechart со значениями моего состояния.

для круговой диаграммы - набор реактивных-нативных диаграмм

вы можете увидеть по этой ссылке: 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 не является функцией. (In'l.map (c) ',' l.map 'не определено

1 Ответ

1 голос
/ 11 июня 2019

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 
/>
...