@zag-js/solid
Version:
The solid.js wrapper for zag
17 lines (16 loc) • 470 B
JavaScript
// src/use-sync-external-store.ts
import { createSignal, onCleanup, onMount } from "solid-js";
function useSyncExternalStore(subscribe, getSnapshot, _getServerSnapshot) {
const [snapshot, setSnapshot] = createSignal(getSnapshot());
onMount(() => {
setSnapshot(() => getSnapshot());
const unsubscribe = subscribe(() => {
setSnapshot(() => getSnapshot());
});
onCleanup(unsubscribe);
});
return snapshot;
}
export {
useSyncExternalStore
};