2.1.0 • Published 4 months ago

shomai v2.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

shomai

A small, easy, blazingly fast and scalable state-management solution for react.

// sample-store.ts

import { createStore } from "shomai";

export interface SampleStore {
    counter: number;
    decounter: number;
}

export const sampleStore = createStore<SampleStore>({
    counter: 0,
    decounter: 100
})

// HelloWorld.tsx

import React from 'react'
import { useStore, useStoreSelectorState } from 'shomai'
import { sampleStore } from './sample-store'

const HelloWorld: React.FunctionComponent<HelloWorldProps> = () => {

    const counter = useStore(sampleStore, (state) => state.counter)

    const [decounter, setDecounter] = useStoreSelectorState<number>(sampleStore, 'decounter')

    return (
        <>
            <button onClick={() => sampleStore.setState(prev => ({...prev, counter: prev.counter + 1}))}>Counter ({counter})</button>
            <button onClick={() => setDecounter(prev => prev - 1)}>Decounter ({decounter})</button>
        </>
    )
}
2.1.0

4 months ago

1.1.0

4 months ago

2.0.0

4 months ago

1.0.1

8 months ago

1.0.0

8 months ago