robot-solid
TypeScript icon, indicating that this package has built-in type declarations

0.4.0 • Public • Published

robot-solid

robot-solid

pnpm

Robot3 integration for solid using robot-hooks

Quick start

Install it:

npm i robot-solid
# or
yarn add robot-solid
# or
pnpm add robot-solid

Use it:

import { type Component } from 'solid-js';
import { createMachine, invoke, reduce, state, transition } from 'robot3';
import { useMachine } from 'robot-solid';

const machine = createMachine({
  idle: state(
    transition("click", "loading")
  ),
  loading: invoke(async () => new Promise(resolve => setTimeout(() => resolve(["user1", "user5"]), 1000)),
    transition("done", "loaded", reduce((ctx: any, ev:any) => ({ ...ctx, users: ev.data })))),
  loaded: state()
}, () => ({users: []}))

const App: Component = () => {
  const [current, send] = useMachine( machine, {users: []})

  return (
    <div>
      <div>
      {current()?.name}
      </div>
      <div>
      {current()?.context.users?.join(", ")}
      </div>
      <button onClick={() => send("click")}>Load</button>
    </div>
  )
}

Readme

Keywords

Package Sidebar

Install

npm i robot-solid

Weekly Downloads

5

Version

0.4.0

License

MIT

Unpacked Size

6.69 kB

Total Files

6

Last publish

Collaborators

  • andi23rosca