THE PLAYGROUND

Less imagining.
More experimenting.

A few small examples. Real framework behavior.
Edit the input, run the code path, and see what changes.

State & time travel

Dispatch actions. Inspect snapshots. Rewind a change.

Read the guide ↗
example.mjs
import { createStore } from '@tagna/udiot/browser';

const store = createStore(
  { count: input.initial },
  (state, action) => ({
    count: state.count + action.payload
  })
);

for (const step of input.steps) {
  await store.dispatch({ type: 'ADD', payload: step });
}
if (input.undo) store.undo();

store.getState();
store.getHistory();

Change the values above, then run the example.

OUTPUTIN YOUR BROWSER
▷

Give it a run.

Your result will appear here.
No setup required.

Interactive controls need JavaScript. If they stay disabled, reload or read the guide.
Powered by @tagna/udiot@1.0.0-rc.1

Browser APIs are experimental in this RC. Examples are bounded demonstrations, not arbitrary-code sandboxes. Review support levels ↗