1.0.1 • Published 4 years ago
remixs v1.0.1
how to use?
import create from 'remixs';
interface IStore {
    count: number,
    countPlus: () => void,
    countMinus: () => void,
    countReset: () => void,
}
export const useStore = create<IStore>(
    set => ({
        count: 0,
        countPlus: () => set( state => {state.count++ }),
        countMinus: () => set( state => {state.count-- }),
        countReset: () => set( state => {state.count = 0 }),
    }),
    compose(logger), //中间件,仓库中集成了logger中间件,可以直接调用
    shallow,  // 开启浅比较 可以优化一些无用render
);
const {count, countPlus, countMinus, countReset, config} = useStore( state => state);
config中返回了经过中间件处理过的store。
注意:中间件不会改变create中回调函数的行为,只能改变在useStore中返回的config中的事件行为。
这样可以更好的区分默认事件和中间件托管事件。
config中包含了,set,get,subscribe,destroy事件(即Store)。