D3.jsビジュアライゼーションを作成するために、いくつかのjsonデータをReactアプリにロードし、使用する前にデータに変更を加えようとしています(データセットの各行に追加のデータを含む列をもう1つ追加します)。それを機能させてconsole.logに表示することができましたが、アプリに変更を加え始めると、エラーのある次のウィンドウが表示されます。
なぜこれが起こっているのかよくわかりません。関数に「await」をもう1つ追加するかfetchUrl()
(のようなものawait addQuarterStringsToArr(data)
)、メインコンポーネントのフェッチAPIを使用してこの変更ヘルパー関数を適用しようとしましたが、これらすべての場合で、追加の列を持つ目的のデータセットを取得できませんでした。
これが私のコードサンドボックスです
ここで何が間違っているのか教えていただけますか?私はReactとプログラミング全般にまったく慣れていないため、この問題を解決する方法について混乱しています。
前もって感謝します!
addQuarterStringsToArr
関数からデータを返さないので、ここsetData(addQuarterStringsToArr(data))
では未定義になります。
次のaddQuarterStringsToArr
ような関数でデータセットを返すだけです。
// helper function to add corresponding text for the quarter and year as a string
export default function addQuarterStringsToArr(dataset) {
for (let i = 0; i < dataset.length; i++) {
switch (dataset[i][0].substring(5, 7)) {
case "01":
case "02":
case "03":
dataset[i].push(dataset[i][0].substring(0, 4) + " Q1");
break;
case "04":
case "05":
case "06":
dataset[i].push(dataset[i][0].substring(0, 4) + " Q2");
break;
case "07":
case "08":
case "09":
dataset[i].push(dataset[i][0].substring(0, 4) + " Q3");
break;
case "10":
case "11":
case "12":
dataset[i].push(dataset[i][0].substring(0, 4) + " Q4");
break;
default:
break;
}
}
return dataset;
}
これがうまくいくことを願っています。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加