https://vanillajsx.com/ A case for vanilla JSX What if JSX just returned DOM elements? View source export default function ClickMe() { let i = 0; const el = as HTMLButtonElement; el.onclick = (e) => { el.textContent = `Clicked ${++i} times`; }; return el; } Would they be reusable? Could they keep their own state? View source import ClickMe from "./sample1.js"; export default () => <>

; How would they work together? Could they create an interactive DOM tree? View source function TodoInput(attrs: { add: (v: string) => void }) { const input = as HTMLInputElement; input.placeholder = 'Add todo item...'; input.onkeydown = (e) => { if (e.key === 'Enter') { attrs.add(input.value); input.value = ''; } }; return input; } class TodoList { ul =