Decca state example

by Rico Sta. Cruz

HTML

<!-- [email protected] -->
<script src="//brcdn.org/4MFog3WVejQdyyNCxFkwdXsWR4.js"></script>
<!-- [email protected] -->
<script src="//brcdn.org/iq1fczbO1kEugM4meXlFnsa4.js"></script>

Babel + JSX

/** @jsx element */
const { dom, element } = decca

const App = dekuStateful({
  initialState () {
    return { count: 0 }
  },
  render ({ state, setState }) {
    return <div>
      <button onclick={increment(state, setState)}>Hit me!</button>
      I've been clicked {state && state.count} times.
    </div>
  }
})

let increment = (state, setState) => (e) => {
  setState({ count: state.count + 1 })
}

var render = dom.createRenderer(document.body, dispatch)
function dispatch () { render(<App />) }
dispatch()