JSFiddle - React, Tailwind, and code Playground
author(s):
Tao Xin
HTML
<script src="https://cdn.jsdelivr.net/gh/vanjs-org/van/public/van-0.12.4.nomodule.min.js"></script>
JavaScript
const {button, div} = van.tags
const buttonStyleList = [
["π", "π"],
["π", "π"],
["πΌ", "π½"],
["β¬οΈ", "β¬οΈ"],
["β«", "β¬"],
["π", "π"],
]
const Counter = ({buttons}) => {
const counter = van.state(0)
const dom = div(
"β€οΈ ", counter, " ",
button({onclick: () => ++counter.val}, buttons[0]),
button({onclick: () => --counter.val}, buttons[1]),
button({onclick: () => dom.remove()}, "β"),
)
return dom
}
const CounterSet = () => {
const containerDom = div()
return div(
containerDom,
button({onclick: () => van.add(containerDom,
Counter({buttons: buttonStyleList[Math.floor(Math.random() * buttonStyleList.length)]}))},
"β",
),
)
}
van.add(document.body, CounterSet())