UNPKG

@devcycle/nextjs-sdk

Version:

The Next.js SDK for DevCycle!

15 lines 738 B
import { useCallback, useEffect, useState } from 'react'; import { useDevCycleClient } from './useDevCycleClient'; export const useRerenderOnVariableChange = (key) => { const [_, forceRerender] = useState({}); const forceRerenderCallback = useCallback(() => forceRerender({}), []); const client = useDevCycleClient(); const variableKey = key !== null && key !== void 0 ? key : '*'; useEffect(() => { client.subscribe(`variableUpdated:${variableKey}`, forceRerenderCallback); return () => { client.unsubscribe(`variableUpdated:${variableKey}`, forceRerenderCallback); }; }, [variableKey, client, forceRerenderCallback]); }; //# sourceMappingURL=useRerenderOnVariableChange.js.map