PraxisJS

Documentation

Signal-driven frontend framework for TypeScript — fine-grained reactivity, class components, and a complete first-party ecosystem.

PraxisJS

PraxisJS is a signal-driven frontend framework for TypeScript. You build with class components and decorators — fine-grained DOM updates with no virtual DOM, no re-renders, and no hooks.

The reactive model follows one rule: render() runs once on mount. Arrow functions in JSX create live subscriptions; plain reads are static snapshots.

@Component()
class Counter extends StatefulComponent {
  @State() count = 0;

  render() {
    return (
      <div>
        <p>{() => this.count}</p>   {/* reactive — updates in place */}
        <p>{this.count}</p>          {/* static — snapshot at mount   */}
        <button onClick={() => this.count++}>+</button>
      </div>
    );
  }
}

New here? Read the Introduction then follow the Quick Start — you'll have a running component in under five minutes.


Learn

Essentials

Reference

Extend

On this page