pota is a SolidJS inspired/based Reactive Web Renderer. A research and personal project built on top of other people's hard work. It ships an optimized Babel preset for JSX, and can also be used compiler-less via a xml tagged-template function.

I use this project to understand, validate, improve and influence SolidJS. This is an experiment, if in doubt of using this or SolidJS you should be using SolidJS.

Snippet

The signal is used as a function — {count.read} — rather than as a value — {count.read()}.

import { render, signal, memo } from 'pota'

function Counter() {
	const count = signal(1)

	const double = memo(() => count.read() * 2)

	const increment = () => count.update(n => n + 1)

	return (
		<button on:click={increment}>
			{count.read} / {double}
		</button>
	)
}

render(Counter)

Getting started

Some of the differences with SolidJS