Reactjs 使用chart.js和react和es6呈现条形图
我正在尝试将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 = {
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;