A different path
What if React embraced reactive state management and did not stray to the server.

FEEDBACK WANTED
RASK has concluded its core implementation including the Inferno-based reconciler, JSX transformation plugin, and reactive primitives. The library is feature-complete and considered ready for release.
Share your feedback by creating an issue - your input will help shape the final release.
import { useState, render } from "rask-ui";
function Counter() {
// Setup scope (runs once)
const state = useState({ count: 0 });
// Returns render scope (runs on reactive changes)
return () => (
<div>
<h1>Count: {state.count}</h1>
<button onClick={() => state.count++}>Increment</button>
<button onClick={() => state.count--}>Decrement</button>
</div>
);
}
render(<Counter />, document.getElementById("app")!);useState(), useEffect(), useDerived()useMountEffect(), useCleanup()createContext() and related hooksuseAsync() - Fetch data with observation and cancellationuseAction() - Queue operations with retry supportuseSuspend() - Coordinate multiple async valuesuseCatchError() hook for catching component errorsnpm create rask-ui