我正在使用带有reactJS的d3 v5。我在反应'List'类中调用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;
和List正在以下'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;
以下是'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();
'root'是index.html中的div id。通过在d3.csv中的List文件中调用console.log,我将在控制台中获取index.html文件的内容。但我想要CSV内容。
答案 0 :(得分:1)
您可以首先尝试使用 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;
答案 1 :(得分:1)
我遇到了同样的问题,这就是我如何解决的问题。检查数据是否与[[ "$bar" == "$foo" ]]
文件位于同一目录中。就我而言,我的index.html
文件位于index.html
文件夹中,因此我创建了public/
。然后,您可以尝试public/data/data.csv
读取数据。