Vanilla JS/TS data store
Installation: npm i @t8/store
import { Store } from "@t8/store";
let store = new Store({ counter: 0 });
🔹 Similarly to instances of the built-in data container classes, such as Set
and Map
, stores are created as new Store(data)
rather than with a factory function.
let state = store.getState();
console.log(state.counter); // 0
store.setState({ counter: 100 });
console.log(state.counter); // 100
store.setState(state => ({ ...state, counter: state.counter + 1 }));
console.log(state.counter); // 101
let unsubscribe = store.onUpdate((nextState, prevState) => {
console.log(nextState, prevState);
});
unsubscribe();