JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://unpkg.com/mithril/mithril.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.0/Chart.bundle.min.js"></script>

Babel + JSX

function App() {
	const config = {
    type: 'line',
    data: {
      labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'],
      datasets: [
        {
          label: '# of Votes',
          data: [12, 19, 3, 5, 2, 3],
          borderColor: 'rgb(255, 99, 132)',
          fill: false
        }
      ]
    }
  }
  
  const oncreate = vnode => {
    const ctx = vnode.dom.getContext('2d')
    this.chart = new Chart(ctx, config)
  }
  
  const doDoubleData = e => {
  	config.data.datasets.forEach(ds => (
     ds.data = ds.data.map(d => d * 2)
    ))
    this.chart.update()
  }

  const view = _ => m('div',
  	m('canvas[width=400][height=400]', { oncreate }),
    m('button', { onclick: doDoubleData }, 'Double data')
  )
  return { view }
}

m.mount(document.body, App)