3 category: JavaScript libraries
6 This is for Deku v1. See [deku](./deku) for a more updated cheatsheet.
10 import element from 'virtual-element' // replacement for React.createElement
11 import {render, tree} from 'deku'
13 var app = <div class='my-app'>Hello World!</div>
15 render(tree(app), document.body)
22 render () { return <button>Submit</button> }
26 render () { return <div><Button /></div> }
29 render(tree(<App />), document.body)
30 render(tree(element(App)), document.body)
33 ## Component props/state
37 render ({ props, state }) {
38 return <div>{ /*...use state.store here*/ }</div>
41 initialState (props) {
42 return { store: store.getState() }
45 afterMount (comp, el, setState) {
46 store.subscribe(() => setState({ store: store.getState() }))
50 render(tree(<App />), document.body)
56 <a onClick={onClick}>{props.text}</a>
59 ## Magic virtual element
60 Use [magic-virtual-element](https://github.com/dekujs/magic-virtual-element) to enable nice classnames.
63 import element from 'magic-virtual-element'
64 <div style={style} class={[ 'button', '-active' ]}>
73 initialState (props) {...} // return initial state
74 defaultProps = { hi: 'hello' }
77 render ({props, state}, setState) {...}
80 beforeUpdate ({props, state, id}, nextProps, nextState) {}
81 afterRender ({props, state, id}, el) {}
82 afterUpdate ({props, state, id}, prevProps, prevState, setState) {}
83 afterMount ({props, state, id}, el, setState) {}
84 beforeUnmount ({props, state, id}, el) {}
87 See: <https://www.npmjs.com/package/deku>