MCPcopy Create free account
hub / github.com/adobe/react-spectrum / usePendingState

Function usePendingState

packages/@react-spectrum/s2/src/Button.tsx:375–391  ·  view source on GitHub ↗
(isPending: boolean)

Source from the content-addressed store, hash-verified

373});
374
375export function usePendingState(isPending: boolean) {
376 let [isProgressVisible, setIsProgressVisible] = useState(false);
377 useEffect(() => {
378 let timeout: ReturnType<typeof setTimeout>;
379 if (isPending) {
380 timeout = setTimeout(() => {
381 setIsProgressVisible(true);
382 }, 1000);
383 } else {
384 setIsProgressVisible(false);
385 }
386 return () => {
387 clearTimeout(timeout);
388 };
389 }, [isPending]);
390 return {isProgressVisible};
391}
392
393/**
394 * Buttons allow users to perform an action.

Callers 2

ActionButton.tsxFile · 0.90
Button.tsxFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected