Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

396
Views
Returning an object from a function and passing the reference to a prop gives my TypeScript error. Doesn't happen if object is put straight in prop

I am doing this:

const getDataForChart = () => {
    const labels = ['January', 'February', 'March', 'April', 'May', 'June', 'July'];

    const test = {
        labels,
        datasets: [
            {
                label: 'Dataset 1',
                data: [0, 5, 10, 15],
                borderColor: 'rgb(255, 99, 132)',
                backgroundColor: 'rgba(255, 99, 132, 0.5)',
            },
            {
                label: 'Dataset 2',
                data: [2, 7, 12, 17],
                borderColor: 'rgb(53, 162, 235)',
                backgroundColor: 'rgba(53, 162, 235, 0.5)',
            },
        ],
    };

    return test;
};

And then adding the function reference in the data props of the Line chart like this:

<Line data={getDataForChart} options={options} width={400} height={400} />

Results in the following error:

Property 'datasets' is missing in type '() => { labels: any; datasets: any; }' but required in type 'ChartData<"line", (number | ScatterDataPoint | null)[], unknown>'.

But if I pass the object literal straight in the prop, I don't get the error and the graph renders successfully.

            <Line
                data={{
                    labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
                    datasets: [
                        {
                            label: 'Dataset 1',
                            data: [0, 5, 10, 15],
                            borderColor: 'rgb(255, 99, 132)',
                            backgroundColor: 'rgba(255, 99, 132, 0.5)',
                        },
                        {
                            label: 'Dataset 2',
                            data: [2, 7, 12, 17],
                            borderColor: 'rgb(53, 162, 235)',
                            backgroundColor: 'rgba(53, 162, 235, 0.5)',
                        },
                    ],
                }}
                options={options}
                width={400}
                height={400}
            />

Why is this happening?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

You need to call the function.

<Line data={getDataForChart()} options={options} width={400} height={400} />
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!