Skip to content

Instantly share code, notes, and snippets.

@jongacnik
Last active November 23, 2017 20:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jongacnik/84fd53fc0ea53240da89bef9573c9644 to your computer and use it in GitHub Desktop.
Save jongacnik/84fd53fc0ea53240da89bef9573c9644 to your computer and use it in GitHub Desktop.
choop - jsx
/** @jsx h */
var devtools = require('choo-devtools')
var choop = require('choop')
var h = require('choop/h')
var app = choop()
app.use(devtools())
app.use(countStore)
app.route('*', mainView)
app.mount('body')
function mainView (state, emit) {
return <main>
<h1>count is {state.count}</h1>
<button onclick={onclick}>Increment</button>
</main>
function onclick () {
emit('increment', 1)
}
}
function countStore (state, emitter) {
state.count = 0
emitter.on('increment', function (count) {
state.count += count
emitter.emit('render')
})
}
{
"dependencies": {
"choo-devtools": "2.2.0",
"choop": "3.0.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment