Skip to content

Instantly share code, notes, and snippets.

@jongacnik
Last active November 23, 2017 20:12
Show Gist options
  • Save jongacnik/f9f339a9d108f156aa885bca96723d36 to your computer and use it in GitHub Desktop.
Save jongacnik/f9f339a9d108f156aa885bca96723d36 to your computer and use it in GitHub Desktop.
choop - basic example
var html = require('choop/html')
var devtools = require('choo-devtools')
var choop = require('choop')
var app = choop()
app.use(devtools())
app.use(countStore)
app.route('*', mainView)
app.mount('body')
function mainView (state, emit) {
return html`
<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": {
"choop": "3.0.0",
"choo-devtools": "2.2.0"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment