DEV Community

Robert Sanders
Robert Sanders

Posted on • Edited on

RS-X: simplifying reactive programming in React

RS-X is a reactive framework that enables you to think in a more declarative way about your data and operations:

  • You define your data model
  • You define your operations via expressions
  • You bind the expressions to your data model
  • You can now just manipulate the data, and the expressions will update automatically

With RS-X, you don’t need to wire everything through useState, useEffect, or derived state.

Your data model itself becomes reactive, and React simply renders the result.

What changes with RS-X in React

Instead of thinking in terms of:

  • syncing state
  • effects
  • memoized selectors

You work directly with your data model.

When the model changes:

  • dependent expressions update automatically
  • React re-renders only where needed

No extra glue code.

Why this is different

  • No need to mirror your data into React state
  • No useEffect chains to keep things in sync
  • No derived state bugs
  • You update the model → the UI follows

RS-X tracks dependencies at the expression level, not the component level.

Async is first-class

RS-X also handles asynchronous data naturally:

  • Promises in your model are resolved reactively
  • Expressions update when async values arrive
  • No loading-state orchestration required

How it fits into React

RS-X doesn’t replace React — it simplifies what React has to manage.

React stays focused on rendering.

RS-X handles:

  • reactivity
  • dependency tracking
  • expression evaluation

Why I built this

I wanted:

  • reactive data without a global store
  • fewer hooks and less boilerplate
  • a model-driven way of thinking
  • predictable updates without over-rendering

React support makes that approach practical in real applications.

You can see it in action on StackBlitz: React demo

Feedback is very welcome.

— Robert

References

Top comments (0)