Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

252
Vistas
Cómo crear un complemento de react-chartjs

He creado un complemento para un chat circular. La idea del complemento es centrar los datos en el medio de la rosquilla.

 const [data1, setData1] = useState() const [plugins, setPlugins] = useState([]) const dashboardInfo = useSelector((state) => state.dashboardInfo.data); useEffect(() => { const xxxNE = dashboardInfo.division ? Object.values(dashboardInfo.division[0]) : ['']; const sikPercentage = xxxNE[1] ? xxxNE[1][0].percentage : '' const trPercentage = xxxNE[1] ? xxxNE[1][1].percentage : '' setData1({ labels: [ // legend labels "SIK: " + sikPercentage + '%', "TR: " + trPercentage + '%' ], datasets: [{ label: '# of Votes', data: [2, 3], backgroundColor: [ '#fb6340', 'rgba(54, 162, 235, 0.5)', ], borderColor: ['#fff', '#fff'], borderWidth: 2, cutout: '90%', }] }) setPlugins([{ beforeDraw: function (chart) { var width = chart.width, height = chart.height, ctx = chart.ctx; ctx.restore(); var fontSize = (height / 180).toFixed(2); ctx.font = fontSize + "em Montserrat"; ctx.textBaseline = "top"; ctx.textAlign = 'center'; ctx.fillText(40 + ' / ' + sikPercentage + '%', width / 2, height / 2); ctx.save(); } }]) }, [dashboardInfoData, setData1, setPlugins]) return ( <Doughnut data={data1} plugins={plugins} options={{ legend: false, legendCallback: function (circleData) { var ul = document.createElement('ul'); var borderColor = circleData.datasets[0].borderColor; var dataValue = circleData.datasets[0].data; circleData.data.labels.forEach(function (label, index) { ul.innerHTML += ` <li> <span style="background-color: ${borderColor[index]} ";></span> ${label} ${dataValue[index]} </li> `; }); return ul.outerHTML; }, } } />

El problema es que el complemento no muestra los datos. ¿Alguna idea de lo que me estoy perdiendo?

Gracias

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda