Из того, что я видел из response-chartjs-2 , оно обладает только этими свойствами:
data: (PropTypes.object | PropTypes.func).isRequired,
width: PropTypes.number,
height: PropTypes.number,
id: PropTypes.string,
legend: PropTypes.object,
options: PropTypes.object,
redraw: PropTypes.bool,
getDatasetAtEvent: PropTypes.func,
getElementAtEvent: PropTypes.func,
getElementsAtEvent: PropTypes.func
onElementsClick: PropTypes.func, // alias for getElementsAtEvent (backward compatibility)
Ни один из них не является текстом, который вы можете передать, чтобы показать свой номер в середине. Вы можете использовать опору легенды и манипулировать объектом, созданным для легенды, чтобы переместить его с помощью css или иметь другой div внутри вашего рендера, который отображает число и стиль, который будет внутри диаграммы.
Другой способ, которым вы можете сделать это, заключив компонент Donut в div с другим дочерним элементом внутри этого div, который содержит текст, например:
return(
<div className='wrapper'>
<div className='chart-number'>{this.state.text}</div>
<Doughnut data={data} />
</div>)
в вашем css, тогда вам придется выяснить, как расположить div с номером диаграммы в середине div-оболочки, которая будет содержать диаграмму.
Если вы только начинаете использовать эту библиотеку, возможно, ищите другую, которая соответствует вашим потребностям, чтобы вам не приходилось кодировать ее!
Надеюсь, это поможет:)
РЕДАКТ. 1:
Из того, что я вижу, вам, вероятно, нужно каким-то образом подключить код Chart.pluginService.register
к вашему графическому объекту, который является компонентом <Doughnut />
, тогда он выполнит вычисление до перерисовки.