useIsMobile
The useIsMobile hook returns whether the current viewport is below the mobile
breakpoint used by React Core shell components.
Import
import { useIsMobile } from "@cfa/react-core";Usage
Responsive Rendering
function Example() { const isMobile = useIsMobile();
return ( <div>{isMobile ? <Button size="sm">Open filters</Button> : <aside>Filter controls</aside>}</div> );}Responsive State
function Example() { const isMobile = useIsMobile(); const [isOpen, setIsOpen] = React.useState(false);
React.useEffect(() => { if (isMobile) { setIsOpen(false); } }, [isMobile]);
return <Button onPress={() => setIsOpen((open) => !open)}>{isOpen ? "Close" : "Open"}</Button>;}API
useIsMobile(): booleanBehavior
- Returns
truewhen the viewport width is below768px. - Updates when the viewport crosses the mobile breakpoint.
- Returns
falseduring the initial render before browser viewport state is available.