在我的React.js应用程序中导入D3.js库时出错

苏博吉特

我遇到有关在我的react.js应用程序中正确导入d3.js库的问题。我正在使用import * as'd3 from'd3'来导入所有内容并将其保存到d3名称空间,但是出现一个错误-无法读取undefined的属性'category20'关于这个问题有什么帮助吗?

单击此处查看=>演示

import React from "react";
import * as d3 from "d3";
import donut from "./d3.donut.jsx";
import { render } from 'react-dom';

class PieCharts extends React.Component {
  constructor(props) {
    super(props);
  }
  componentDidMount() {
    let self = this;
    //let PieData=this.props.data;
    var getData = function() {
      var size = 4;
      var data = {};
      var text = "";
      for (var i = 0; i < size; i++) {
        data["data-" + (i + 1)] = Math.round(Math.random() * 100);
        text += "data-" + (i + 1) + " = " + data["data-" + (i + 1)] + "<br/>";
      }
      d3.select("#data").html(text);
      return data;
    };

    var chart = donut()
      .$el(d3.select("#" + self.props.id))
      .data(getData())
      .render();
  }

  render() {
    //console.log(this.props.data)
    return (
      <div>
        <div id={this.props.id} />
        <button className="btn btn-primary" onClick={this.props.clickActivity}>
          Simulate
        </button>
      </div>
    );
  }
}

render(<PieCharts />, document.getElementById('root'));
鲁皮什

它的语法错误。您正在使用d3 v5,因此需要遵循更新的语法

Use d3.scaleOrdinal(d3.schemeCategory20) instead of d3.scale.category20().
Use d3.pie instead of d3.layout.pie
Use d3.arc() instead of d3.svg.arc()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法在我的Android应用程序中导入javax。*?

使用JVM Nashorn(播放框架)渲染React.js时出错。我得到“空不是函数”

在应用程序中导入我的Android库未识别为库

使用react.js在单页面应用程序中导航

使用Webpack在TypeScript React应用程序中导入SVG

如何在我的React应用程序中导入JS库?

在应用程序中导入我的图书馆

React.js创建反应应用程序我的应用程序后端集成

无法在React.js中导入d3-queue?尝试导入错误:未从“ d3”(导入为“ d3”)导出“队列”

我使用react.js投入生产时出错

如何解决React.js应用程序中的“不可配置属性” ChoiceGroupOption”,我正在使用Parcel,并从“ office-ui-fabric-react”导入了comp

在React应用程序中导入单个组件

编辑:如何在React应用程序中导入MP3文件

当我尝试在React.JS中导入常量时遇到错误

在React应用中导入'vscode-languageserver'时出错

在React中导入js对象时的内存

在Vue应用程序中导入Chessboard.js的问题

Vue.js导入mixin不会在应用程序中导入

每次我尝试使用“应用程序存储库...”安装某些软件包时都会出错

构建我的 React 应用程序时出错 (UglifyJs)

在 React 应用程序中导入 scss 时出错

如何在我的应用程序中导入linkedin sdk?

在我的 Ruby On Rails 应用程序中尝试检索存储在数据库中的图像时出错

在 React 应用程序中导入 mongoose npm 模块时出现类型错误

如何将 sapper 应用程序中的 stripe.js 导入我的 preload() 或 onMount()

当我尝试执行以下代码时,我的 react-native 应用程序出错

为什么我在屏幕上看不到我的应用程序?React.js

React Js 应用程序在页面刷新/重新加载时出错

我的 React 应用程序在连接到 Nodejs API (MS SQL Server) 时出错