3 category: JavaScript libraries
6 Quick reference for [Deku](https://www.npmjs.com/package/deku), a minimal virtual DOM library. **Deprecated:** This is for Deku v1. See [deku](./deku) for a more updated cheatsheet.
13 import element from 'virtual-element' // replacement for React.createElement
14 import { render, tree } from 'deku'
16 var app = <div class='my-app'>Hello World!</div>
18 render(tree(app), document.body)
26 return <button>Submit</button>
40 render(tree(<App />), document.body)
41 render(tree(element(App)), document.body)
44 ### Component props/state
48 render ({ props, state }) {
49 return <div>{ /*...use state.store here*/ }</div>
52 initialState (props) {
53 return { store: store.getState() }
56 afterMount (comp, el, setState) {
57 store.subscribe(() => setState({ store: store.getState() }))
61 render(tree(<App />), document.body)
67 <a onClick={onClick}>{props.text}</a>
70 ### Magic virtual element
72 Use [magic-virtual-element](https://github.com/dekujs/magic-virtual-element) to enable nice classnames.
75 import element from 'magic-virtual-element'
76 <div style={style} class={[ 'button', '-active' ]}>
85 initialState (props) {...} // return initial state
86 defaultProps = { hi: 'hello' }
89 render ({props, state}, setState) {...}
92 beforeUpdate ({props, state, id}, nextProps, nextState) {}
93 afterRender ({props, state, id}, el) {}
94 afterUpdate ({props, state, id}, prevProps, prevState, setState) {}
95 afterMount ({props, state, id}, el, setState) {}
96 beforeUnmount ({props, state, id}, el) {}
99 See: <https://www.npmjs.com/package/deku>