UNPKG

@benev/slate

Version:
32 lines (22 loc) 770 B
import {slate} from "../frontend.js" import {html} from "../../nexus/html.js" export const QuartzTripler = slate.lightView(use => (start: number) => { use.name("quartz-tripler") // react hooks state const [alpha, setAlpha] = use.state(start) const increaseAlpha = () => setAlpha(alpha * 3) // flatstate const bravo = use.flatstate({count: start}) const increaseBravo = () => bravo.count *= 3 // preact signals const charlie = use.signal(start) const increaseCharlie = () => charlie.value *= 3 return html` <span>${alpha}</span> <button @click=${increaseAlpha}>quartz-a</button> <span>${bravo.count}</span> <button @click=${increaseBravo}>quartz-b</button> <span>${charlie}</span> <button @click=${increaseCharlie}>quartz-c</button> ` })