Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用chart.js和react和es6呈现条形图_Reactjs_Charts_Ecmascript 6_React Chartjs - Fatal编程技术网

Reactjs 使用chart.js和react和es6呈现条形图

Reactjs 使用chart.js和react和es6呈现条形图,reactjs,charts,ecmascript-6,react-chartjs,Reactjs,Charts,Ecmascript 6,React Chartjs,我正在尝试将chart.js条形图与react和es6一起使用 由于我使用的是import而不是require,因此我的项目看起来与以前的项目有些不同 以下是我的项目示例: import React from 'react'; import { BarChart } from 'react-chartjs'; class HelloChart extends React.Component { constructor() { super(); let data = {

我正在尝试将chart.js条形图与react和es6一起使用

由于我使用的是
import
而不是
require
,因此我的项目看起来与以前的项目有些不同

以下是我的项目示例:

import React from 'react';
import { BarChart } from 'react-chartjs';

class HelloChart extends React.Component {
  constructor() {
    super();
    let data = {
      labels: ["January", "February", "March", "April", "May", "June", "July"],
      datasets: [{
        label: "My First dataset",
        backgroundColor: [
          'rgba(255, 99, 132, 0.2)',
          'rgba(54, 162, 235, 0.2)',
          'rgba(255, 206, 86, 0.2)',
          'rgba(75, 192, 192, 0.2)',
          'rgba(153, 102, 255, 0.2)',
          'rgba(255, 159, 64, 0.2)'
        ],
        borderColor: [
          'rgba(255,99,132,1)',
          'rgba(54, 162, 235, 1)',
          'rgba(255, 206, 86, 1)',
          'rgba(75, 192, 192, 1)',
          'rgba(153, 102, 255, 1)',
          'rgba(255, 159, 64, 1)'
        ],
        borderWidth: 1,
        data: [65, 59, 80, 81, 56, 55, 40],
      }]
    };
    let options = {
      scales: {
        xAxes: [{
          stacked: true
        }],
        yAxes: [{
          stacked: true
        }]
      }
    };
    this.state = {
      chartData: data,
      chartOptions: options,
    };
  }
  render() {
    let chartData = this.state.chartData;
    let chartOptions = this.state.chartOptions;
    return (
      <div>
        <BarChart data={chartData} options={chartOptions} width="600" height="250" />
      </div>
    )
  }
}

export default HelloChart
从“React”导入React;
从'react chartjs'导入{BarChart};
类HelloChart扩展了React.Component{
构造函数(){
超级();
让数据={
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”],
数据集:[{
标签:“我的第一个数据集”,
背景颜色:[
"rgba(255,99,132,0.2)",,
“rgba(54162235,0.2)”,
"rgba(255,206,86,0.2)",,
“rgba(751921920.2)”,
“rgba(153102255,0.2)”,
‘rgba(255、159、64、0.2)’
],
边框颜色:[
"rgba(255,99132,1)",,
“rgba(54162235,1)”,
"rgba(255,206,86,1)",,
"rgba(751921921)",,
"rgba(153102255,1)",,
‘rgba(255、159、64、1)’
],
边框宽度:1,
数据:[65,59,80,81,56,55,40],
}]
};
让选项={
比例:{
xAxes:[{
是的
}],
雅克斯:[{
是的
}]
}
};
此.state={
图表数据:数据,
图表选项:选项,
};
}
render(){
让chartData=this.state.chartData;
让chartOptions=this.state.chartOptions;
返回(
)
}
}
导出默认HelloChart
以下是我进入控制台时的两个错误:

警告:React.createElement:类型不应为null、未定义、布尔值或数字。它应该是字符串(对于DOM元素)或ReactClass(对于复合组件)。检查
HelloChart
的渲染方法

而且


Uncaught错误:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。检查
HelloChart
的渲染方法

这将解决您的问题:

const BarChart = require("react-chartjs").Bar;
或者

试试这个:

import React from 'react';

const BarChart = require('react-chartjs').Bar;

class HelloChart extends React.Component {
  constructor() {
    super();
    const data = {
      labels: ["January", "February", "March", "April", "May", "June", "July"],
      datasets: [{
        label: "My First dataset",
        backgroundColor: [
          'rgba(255, 99, 132, 0.2)',
          'rgba(54, 162, 235, 0.2)',
          'rgba(255, 206, 86, 0.2)',
          'rgba(75, 192, 192, 0.2)',
          'rgba(153, 102, 255, 0.2)',
          'rgba(255, 159, 64, 0.2)'
        ],
        borderColor: [
          'rgba(255,99,132,1)',
          'rgba(54, 162, 235, 1)',
          'rgba(255, 206, 86, 1)',
          'rgba(75, 192, 192, 1)',
          'rgba(153, 102, 255, 1)',
          'rgba(255, 159, 64, 1)'
        ],
        borderWidth: 1,
        data: [65, 59, 80, 81, 56, 55, 40],
      }]
    };
    const options = {
      scales: {
        xAxes: [{
          stacked: true
        }],
        yAxes: [{
          stacked: true
        }]
      }
    };
    this.state = {
      chartData: data,
      chartOptions: options,
    };
  }
  render() {
    const { chartData, chartOptions } = this.state;
    return (
      <div>
        <BarChart data={chartData} options={chartOptions} width="600" height="250" />
      </div>
    )
  }
}

export default HelloChart;
从“React”导入React;
const BarChart=require('react-chartjs').Bar;
类HelloChart扩展了React.Component{
构造函数(){
超级();
常数数据={
标签:[“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”],
数据集:[{
标签:“我的第一个数据集”,
背景颜色:[
"rgba(255,99,132,0.2)",,
“rgba(54162235,0.2)”,
"rgba(255,206,86,0.2)",,
“rgba(751921920.2)”,
“rgba(153102255,0.2)”,
‘rgba(255、159、64、0.2)’
],
边框颜色:[
"rgba(255,99132,1)",,
“rgba(54162235,1)”,
"rgba(255,206,86,1)",,
"rgba(751921921)",,
"rgba(153102255,1)",,
‘rgba(255、159、64、1)’
],
边框宽度:1,
数据:[65,59,80,81,56,55,40],
}]
};
常量选项={
比例:{
xAxes:[{
是的
}],
雅克斯:[{
是的
}]
}
};
此.state={
图表数据:数据,
图表选项:选项,
};
}
render(){
const{chartData,chartOptions}=this.state;
返回(
)
}
}
导出默认HelloChart;

根据示例,这是我现在使用的代码:我得到的错误是:“未捕获类型错误:(中间值)[chartType]不是函数(…)”
import React from 'react';

const BarChart = require('react-chartjs').Bar;

class HelloChart extends React.Component {
  constructor() {
    super();
    const data = {
      labels: ["January", "February", "March", "April", "May", "June", "July"],
      datasets: [{
        label: "My First dataset",
        backgroundColor: [
          'rgba(255, 99, 132, 0.2)',
          'rgba(54, 162, 235, 0.2)',
          'rgba(255, 206, 86, 0.2)',
          'rgba(75, 192, 192, 0.2)',
          'rgba(153, 102, 255, 0.2)',
          'rgba(255, 159, 64, 0.2)'
        ],
        borderColor: [
          'rgba(255,99,132,1)',
          'rgba(54, 162, 235, 1)',
          'rgba(255, 206, 86, 1)',
          'rgba(75, 192, 192, 1)',
          'rgba(153, 102, 255, 1)',
          'rgba(255, 159, 64, 1)'
        ],
        borderWidth: 1,
        data: [65, 59, 80, 81, 56, 55, 40],
      }]
    };
    const options = {
      scales: {
        xAxes: [{
          stacked: true
        }],
        yAxes: [{
          stacked: true
        }]
      }
    };
    this.state = {
      chartData: data,
      chartOptions: options,
    };
  }
  render() {
    const { chartData, chartOptions } = this.state;
    return (
      <div>
        <BarChart data={chartData} options={chartOptions} width="600" height="250" />
      </div>
    )
  }
}

export default HelloChart;