Blog>
Snippets

Dynamic Data Loading for React Charts

Show how to fetch and update data in TanStack React Charts dynamically using async functions and React hooks like `useState` and `useEffect` for real-time data visualization.
import React, { useState, useEffect } from 'react';
import { Chart } from 'react-charts';
Imports necessary hooks from React and the Chart component from react-charts library.
function MyChart() {
  const [data, setData] = useState([]);

  useEffect(() => {
    const fetchData = async () => {
      const response = await fetch('https://api.example.com/data');
      const result = await response.json();
      setData(result);
    };
    fetchData();
  }, []);

  const axes = React.useMemo(
    () => [
      { primary: true, type: 'linear', position: 'bottom' },
      { type: 'linear', position: 'left' }
    ],
    []
  );
Defines a component MyChart with a state for data. Uses useEffect to fetch data asynchronously on component mount and updates the data state. useMemo is used to setup chart axes.
return (
  <div>
    <Chart data={data} axes={axes} />
  </div>
);
}
Renders the Chart component using the fetched data and defined axes.
export default MyChart;
Exports the MyChart component for use in other parts of the application.