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 Inferno's reconciler, MobX's reactive system, 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