a reactive component lib in under 80 lines of JS!
import Component from "./lib/Component.js";
export default class MyComponent extends Component {
constructor() {
super(...arguments);
this.state = this.useState({
name: "Dave",
});
}
updateTitle(ev) {
this.state.title = ev.target.value;
}
render() {
return `<h1>${this.state.title}</h1>
<input
type="text"
value="${this.state.title}"
data-on="input->updateTitle"
/>`;
}
}<div id="app"></div>
<script type="module">
import App from "./MyComponent.js";
const $root = document.getElementById("app");
$root.innerHTML = new App($root).render();
</script>- clone this repo
- cd into directory
npm installnpm run dev- go to localhost:8000 in your browser