【发布时间】:2018-04-01 15:49:21
【问题描述】:
我正在使用 Papa Parse 解析 CSV 文件以获取 Graphs。我想在解析文件后将数据存储在React state 中。 Papa.Parse() 不返回任何内容,结果异步提供给回调函数。此外, setState() 在异步回调中不起作用。这个问题类似于Retrieving parsed data from CSV。
我尝试使用以下代码将数据存储在状态中,但正如预期的那样,它不起作用。
componentWillMount() {
function getData(result) {
console.log(result); //displays whole data
this.setState({data: result}); //but gets error here
}
function parseData(callBack) {
var csvFilePath = require("./datasets/Data.csv");
var Papa = require("papaparse/papaparse.min.js");
Papa.parse(csvFilePath, {
header: true,
download: true,
skipEmptyLines: true,
complete: function(results) {
callBack(results.data);
}
});
}
parseData(getData);
}
数据可以在 getData() 中使用,但我想提取它。
我应该如何将数据存储在 state 或其他变量中,以便我可以将其用于 Graphs?
【问题讨论】:
-
您能否将您的主题行改写为一个易于阅读和理解的问题?您的帖子直到最后一行才包含问题,这并不理想。
-
@Jacob 请检查最后一行。
-
您收到的错误信息究竟是什么? (在 this.setState({data: result});)
-
@Amanshu:我的意思是:你的帖子的主题必须是一个问题。 Stack Overflow 以问答为基础。如果您的帖子没有以问题为标题,那么怎么会有答案呢? (请参阅顶部的菜单栏:它首先显示问题!)
-
@Larce 问题已更新。
标签: javascript json reactjs csv papaparse