将D3 usmap v3添加到React

时间:2018-08-06 22:48:28

标签: reactjs d3.js

我正在尝试通过v3中的React添加一个D3美国地图,并停留在此错误上。

TypeError:无法读取未定义的属性“ defer”(在queue()方法中)

添加d3.queue()后,该代码在v4中可以很好地工作。

//package 
"d3": "^3.5.17",
"queue": "^1.0.2",
"topojson": "^1.6.27"

//offending code snippet
import React, { Component } from 'react';
import queue from 'queue';
import * as topojson from 'topojson';
import * as d3 from 'd3';
import './map1.css';

class Map1 extends Component {
    state = {
        usData: null,
        usCongress: null
    }

componentWillMount() {
    queue()
      .defer(d3.json, "/data/us.json")
      .defer(d3.json, "/data/congressional-districts.json")
      .await((error, usData, usCongress) => {
        console.log('us.json', usData);
        console.log('us.congress', usCongress);
          this.setState({
              usData,
              usCongress
          });
      })
}

1 个答案:

答案 0 :(得分:0)

我认为您将软件包d3-queuequeue混淆了,完全不同。