Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

257
Visualizações
access child reference for testing in React

I have created a component as following:

import { Chart as ChartJS, ChartData, ChartOptions, registerables } from 'chart.js';
import { useRef, useState } from 'react';
import { Line } from 'react-chartjs-2';

interface ChartContainerProps {
  data: Array<Point> | undefined;
}

const ChartContainer = ({ data }: ChartContainerProps): JSX.Element => {
  const chartRef: any = useRef(null);

  ChartJS.register(...registerables);

  const labels = data?.map((item: Point) => item.x) || [];
  const datasetsData = data?.map((item: Point) => item.y || null) || [];


  const [chartData, setChartData] = useState<ChartData<'line', (number | null)[], unknown>>({
    labels,
    datasets: [{ data: datasetsData }],
  });
  const [chartOptions, setChartOptions] = useState<ChartOptions<'line'>>({
    // removed for code visibility
  });

  return <Line options={chartOptions} data={chartData} ref={chartRef} />;
};

export default ChartContainer;

I want to create a test case for this component, but to do that I need to access the reference of the chart.js component, in this case it's chartRef.

Here is my test case:

import { cleanup, render } from '@testing-library/react';
import { useRef } from 'react';


jest.mock('react-chartjs-2', () => ({
  Line: () => null,
}));



describe('test chart', () => {
  afterEach(() => {
    cleanup();
  });
  test('is rendered', () => {
    const { container } = render(<ChartContainer data={mock} />, {});

    // Access reference here 
  });
});

How can I acheive this?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda