Files
leporello-js/docs/examples/todos-preact/app.js

21 lines
492 B
JavaScript
Raw Normal View History

2023-06-19 07:59:21 +03:00
import {render} from 'https://unpkg.com/preact?module';
let state, component, root
export const createApp = initial => {
/* if state is already initialized then preserve it */
state = state ?? initial.initialState
component = initial.component
root = initial.root
do_render()
}
export const handler = fn => (...args) => {
state = fn(state, ...args)
do_render()
}
export const connect = comp => props => comp(props, state)
const do_render = () => render(component(), root)