@channel-state/react
Version:
React hooks for channel-state, providing seamless integration with React applications for cross-context state management.
26 lines (24 loc) • 657 B
JavaScript
import { useSyncExternalStore } from 'react';
// src/index.ts
function useChannelState(store) {
const value = useSyncExternalStore(
(onStoreChange) => store.subscribe(onStoreChange),
() => store.get(),
() => store.get()
);
const set = (newValue) => {
store.set(newValue);
};
return [value, set];
}
function useChannelStatus(store) {
const status = useSyncExternalStore(
(onStoreStatusChange) => store.subscribeStatus(onStoreStatusChange),
() => store.status,
() => store.status
);
return status;
}
export { useChannelState, useChannelStatus };
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map