Я думаю, вам здесь не хватает многих вещей
Проверьте, как на диаграмме js 2 извлекается реквизит данных и как вы обрабатываете ответ API.
Это сработает
Проверьте здесь песочница
import React, { useState } from "react";
import { Bar } from "react-chartjs-2";
import axios from "axios";
export default function App() {
const [label, setLabel] = useState([]);
const [data, setData] = useState([]);
React.useEffect(() => {
axios
.get("https://private-afe609-testefront.apiary-mock.com/anual-result")
.then(result => {
setLabel(Object.keys(result.data).map(key => result.data[key].label));
setData(Object.keys(result.data).map(key => result.data[key].value));
console.log(data);
});
}, []);
return (
<div>
<Bar data={{
labels: label,
datasets: [
{
label: 'My First dataset',
backgroundColor: 'rgba(255,99,132,0.2)',
borderColor: 'rgba(255,99,132,1)',
borderWidth: 1,
hoverBackgroundColor: 'rgba(255,99,132,0.4)',
hoverBorderColor: 'rgba(255,99,132,1)',
data: data
}
]
}} />
</div>
);
}
const rootElement = document.getElementById("root");
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
rootElement
);