Несколько проблем, которые я вижу здесь.
- Когда вы делаете
fetch('data/mycsv.csv')
, вы по существу делаете запрос на http://localhost:3000/data/mycsv.csv
. Проверьте вкладку n / w, и вы увидите, что ответом является ваш html
. React сначала загружает вашу страницу root, а затем проверяет дальнейшие маршруты. - Некоторые ошибки кодирования, такие как - вы не вызывали
fetchCsv
fun inside GetData
function. Также вам нужно дождаться fetchCsv
.
Решение:
Переместите папку data
, в которой находится CSV-файл, в publi c папку и внесите исправления в ваш код.
import React from 'react';
import Papa from 'papaparse';
async function GetData(artist) {
const data = Papa.parse(await fetchCsv());
console.log(data);
return data;
}
async function fetchCsv() {
const response = await fetch('data/mycsv.csv');
const reader = response.body.getReader();
const result = await reader.read();
const decoder = new TextDecoder('utf-8');
const csv = await decoder.decode(result.value);
console.log('csv', csv);
return csv;
}
Я протестировал приведенный выше код в своем локальном компьютере, и он отлично работает.