javascript - 如何将 Axios API 与 Chart.js 和 React.js 结合使用

标签 javascript reactjs axios chart.js

我使用 Axios 和 useEffect 获取数据,并希望使用 Chart.js 显示它 但只有图表框架不显示数据。

下面是我的代码

 import React, { useState, useEffect } from "react";
 import { Bar, Line } from "react-chartjs-2";
import axios from "axios";

function ChartSix() {

  const [data, setData] = useState([]);
  const [posts, setPosts] = useState([]);

  let title = [];
  let id = [];
  useEffect(() => {

    axios.get("https://jsonplaceholder.typicode.com/posts").then(res => {
      const ipl = res.data;
      setPosts(ipl);

      ipl.forEach(record => {
        title.push(record.title);
        id.push(record.id);
      });

      setData({
        Data: {
          labels: title,
          datasets: [
            {
              label: "IPL 2018/2019 Top Run Scorer",
              data: id,
              backgroundColor: [
                "#3cb371",
                "#0000FF",
                "#9966FF",
                "#4C4CFF",
                "#00FFFF",
                "#f990a7",
                "#aad2ed",
                "#FF00FF",
                "Blue",
                "Red"
              ]
            }
          ]
        }
      });
    });
  });

  return (
    <div>
      <Line data={data}></Line>
    </div>
  );
}

export default ChartSix;

enter image description here

最佳答案

适用于:

  return (
    <div>
      <Line data={data.Data} />
    </div>
  )

https://codesandbox.io/s/frosty-torvalds-qzwt3

关于javascript - 如何将 Axios API 与 Chart.js 和 React.js 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60433572/

相关文章:

javascript - 如何简化 JavaScript/ECMAScript 数组文字的生成?

javascript - 使用 AJAX 的数据表,求和并添加总页脚

reactjs - 重置/初始化 InfiniteLoader 的正确方法是什么

javascript - 我们可以在 Axios 中做一个 If 吗 - ReactJS

javascript - XMLHttpRequest 无法加载 http ://abc. mydomain.org/data/todo.js

javascript - jQuery.post 回调未执行

javascript - 修改 JSON 对象

javascript - Tabindex 在 Chrome 中不工作(React 应用程序)

reactjs - npm test 未检测到 jenkins 中新的测试文件更改

reactjs - 使用axios限速的建议