🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

react-use-breakpoint

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-use-breakpoint

Use breakpoints in JS when dealing with React based applications

1.2.1
latest
Source
npm
Version published
Weekly downloads
10
Maintainers
1
Weekly downloads
 
Created
Source

react-use-breakpoint

Rational

A React hook to get the current breakpoint via the MatchMedia API. Tiny, fast, and easy to use. I created this as I found myself copying this bad boy around every project I did... so I figured I'd make it a package. Other plugins out there are not exactly what I needed, and although I think getting breakpoints in JS should be a last resort. There is undoubtedly a time and place for it. Especially as designers design more creative layouts that are not easily achievable with CSS alone.

Getting Started

Install the package

npm install react-use-breakpoint
yarn add react-use-breakpoint

Wrap your apps root component with the BreakpointProvider component. This will provide the useBreakpoint hook to all child components.

import {BreakpointProvider} from 'react-use-breakpoint';

const App = () => (
    <BreakpointProvider>
        <MyComponent/>
    </BreakpointProvider>
);

The default breakpoint size values are:

BreakpointSize (px)
xs360
sm640
md960
lg1280
xl1440

You can customise these values xs, sm, md, lg, xl to fit your needs like so (strings or numbers are accepted):

import {BreakpointProvider} from 'react-use-breakpoint';

const App = () => (
    <BreakpointProvider
        breakpointOverrides={{
            xs: 360,
            sm: '400'
        }}
    >
        <MyComponent/>
    </BreakpointProvider>
);

Hook Usage

Within all child components you can then leverage the useBreakpoint() hook to get the current breakpoints.

Specifying no arguments will return an object with min and max breakpoints { min: {...}, max: {...} }. The function overload handles the types for you 😉.

import {useBreakpoint} from 'react-use-breakpoint';

const MyComponent = () => {
    const {min} = useBreakpoint();
    const {isXs} = min;

    return <div>Current breakpoint: {breakpoint}</div>;
};

If you specify a breakpoint "direction" (min or max) you will get an object back with all the breakpoint sizes and their assigned boolean value.

import {useBreakpoint} from 'react-use-breakpoint';

const MyComponent = () => {
    const {isXs, isSm, isMd} = useBreakpoint('min');
    // isXs = true
    // isSm = false
    // isMd = false
...
    return <div>Current breakpoint: {breakpoint}</div>;
};

Feature Requests...

Sure... open up an issue, and I'll see what I can do.

Todo

  • Add tests for the hook

Keywords

breakpoint

FAQs

Package last updated on 19 Mar 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts