2.0.1 • Published 17 days ago

@atomico/store v2.0.1

Weekly downloads
-
License
-
Repository
github
Last release
17 days ago

@atomico/store@2

Es una solución minimalista para sincronizar el estado de aplicaciones o sistemas de componentes que requieran manejo bidireccional de datos controlada.

Primeros pasos.

Crear el store

Los store en Atomico son webcomponents con comportamiento similar al API de contexto de Atomico, ejemplo:

Creacion del store

import { createContext } from "@atomico/store";
const MyStore = createContext({ counter: 0 });

customElements.define("my-store", MyStore);

Definicion del store

import { c } from "atomico";
import { MyStore } from "./my-store";

export const MyApp = c(() => {
  return (
    <host shadowDom>
      <MyStore state={{ counter: 0 }}>
        <slot />
      </MyStore>
    </host>
  );
});

En el codigo anterior hemos diponibilizado el store para todo hijo del webcomponente.

Consumo del store y reactividad.

import { c } from "atomico";
import { useStore } from "@atomico/store";
import { MyStore } from "./my-store";

export const MyForm = c(() => {
  const store = useStore(MyStore);
  return (
    <host shadowDom>
      <h1>counter: {store.counter}</h1>
      <button onclick={() => store.counter++}>Increment</button>
    </host>
  );
});

Como notaras tiene la libertad de actualizar el store facilmente gracias al api de Proxy.

¿manejo bidireccional de estados?

Si conoces el api de contexto de Atomico sabrás que esta es unidireccional osea el padre despacha actualizaciones al hijo. @atomico/store es bidirecional permitiendo que todo consumidor del store se sincronice osea el padre puede despachar actualizaciones al hijo y el hijo puede despachar actualizaciones al padre.

2.0.1

17 days ago

2.0.0

1 month ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

0.10.0

2 years ago

0.11.0

2 years ago

0.9.0

2 years ago

0.12.0

2 years ago

0.8.0

2 years ago

0.7.0

5 years ago

0.6.0

5 years ago

0.5.0

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.0

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.0

5 years ago

0.0.1

5 years ago

0.0.0

5 years ago