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

Function usePendingState

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

Source from the content-addressed store, hash-verified

383});
384
385export function usePendingState(isPending: boolean) {
386 let [isProgressVisible, setIsProgressVisible] = useState(false);
387 useEffect(() => {
388 let timeout: ReturnType<typeof setTimeout>;
389 if (isPending) {
390 timeout = setTimeout(() => {
391 setIsProgressVisible(true);
392 }, 1000);
393 } else {
394 // oxlint-disable-next-line react/react-compiler
395 setIsProgressVisible(false);
396 }
397 return () => {
398 clearTimeout(timeout);
399 };
400 }, [isPending]);
401 return {isProgressVisible};
402}
403
404/**
405 * 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