d3.csv在console.log中返回index.html内容

Ign*_*ter 6 javascript csv d3.js reactjs

我正在使用 d3 v5 和 ReactJS。我在反应“列表”类中调用 d3.csv,如下所示:

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

class List extends React.Component{

componentDidMount(){
d3.csv("./data/data.csv").then(function(d, error){
    console.log(d);
});
}

render(){
        return(
        <div> </div>
        );
    }
} 
  export default List;
Run Code Online (Sandbox Code Playgroud)

并且列表正在以下“App”类中导入

import React, { Component } from 'react';
import logo from './logo.svg';
import List from './components/list/List';
import './App.css';

class App extends Component {
  render() {
    return (
      <div className="App">
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">Welcome to React</h1>
        </header>          
        <List/> 
      </div>      
    );
  }
}
 export default App;
Run Code Online (Sandbox Code Playgroud)

以下是“index.js”代码:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import registerServiceWorker from './registerServiceWorker';

ReactDOM.render(<App />, document.getElementById('root'));
registerServiceWorker();
Run Code Online (Sandbox Code Playgroud)

'root' 是index.html 中的一个div id。通过在 d3.csv 内的列表文件中调用 console.log,我在控制台中获取了 index.html 文件的内容。但我想要 CSV 内容。

在此输入图像描述

小智 4

您可以首先尝试使用import语句加载 CSV 文件。:)

import React from 'react';
import * as d3 from 'd3';
import data from "./data/data.csv";

class List extends React.Component{
  componentDidMount(){
    d3.csv(data).then(function(d, error){
      if (error) {
        console.log(error);
      } else {
        console.log(d);
      };
    });
  }

  render(){
    return(
      <div> </div>
    );
  }
} 

export default List;
Run Code Online (Sandbox Code Playgroud)