@xrenders/xflow
Version:
一款功能强大、易用灵活的流程编辑器框架,帮助你轻松构建复杂的工作流和流程产品
25 lines • 875 B
JavaScript
import { useContext, useMemo } from 'react';
import StoreContext from '../models/context';
import { useStoreWithEqualityFn } from 'zustand/traditional';
var useStore = function useStore(selector, equalityFn) {
var store = useContext(StoreContext);
if (store === null) {
throw new Error('[XFlow]: Seems like you have not used zustand provider as an ancestor.');
}
return useStoreWithEqualityFn(store, selector, equalityFn);
};
var useStoreApi = function useStoreApi() {
var store = useContext(StoreContext);
if (store === null) {
throw new Error('[XFlow]: Seems like you have not used zustand provider as an ancestor.');
}
return useMemo(function () {
return {
getState: store.getState,
setState: store.setState,
subscribe: store.subscribe,
temporal: store.temporal
};
}, [store]);
};
export { useStore, useStoreApi };