首页 > 解决方案 > 为什么我无法在 React 中从 D3js 加载外部数据?

问题描述

我正在尝试将 D3 与 React 一起使用,但是当我从文件夹加载外部 csv 或 json 文件时,它不起作用,而是返回 html 文件的数组?

import React from 'react';
import * as d3 from "d3";

class D3 extends React.Component{
constructor(props){
    super(props);
}

componentDidMount = () => {
    this.startD3();
}

startD3 = () => {
    d3.csv("/data/Book1.csv").then((data) => {
        console.log(data)
    })

标签: reactjsd3.jsfetchexternal

解决方案


d3.csv将向给定的路径发送请求,因此您必须确保该文件由您的服务器提供服务,并且它不是文件系统路径。

您可以将文件放在文件public夹中,而只使用/Book1.csv路径。

d3.csv("/Book1.csv").then((data) => {
  console.log(data);
})

推荐阅读