React Media Queries
React Media Queries

Unlocking Responsive Design in ReactJS with JavaScript-Powered Media Queries

Media Queries in ReactJS

Shelcia David
2 min readJan 26, 2024

--

Prerequisites:

Before we delve into the magic of responsive design with React, ensure you have the following ready:

  • Basic Knowledge ReactJS
  • Code Editor (I use VS Code)
  • NodeJS installed

Why JavaScript-powered Media Queries in React?

In the dynamic landscape of web development, traditional CSS media queries might not always cut it. Enter JavaScript-powered media queries in React! These offer a smarter alternative, especially in scenarios where rendering logic and resource optimization matter.

Consider this: You’re on your mobile device, exploring a website. A CSS-hidden sidebar is making unnecessary network requests, wasting precious resources. Here’s where JavaScript shines! By conditionally rendering components based on browser size, we can efficiently handle such cases.

Media Queries… in JavaScript!

So, how do we implement this in React? The answer lies in a custom hook using React’s useEffect and the window object. Let's break it down:

This custom hook takes a query as input and returns a boolean indicating whether the window matches the specified media query.

Putting it into Action

Now, let’s have some fun with this in your React components! Imagine a page layout that adjusts based on the screen width:

Here, isPageWide becomes a powerful variable you can leverage to conditionally render components. If the window width is greater than 800px, display the UnnecessarySidebar. Otherwise, focus on the ImportantContent.

Feel free to integrate this custom hook into your projects, creating dynamic and responsive user interfaces with the magic of JavaScript-powered media queries! 🚀

Reference:

--

--

Shelcia David
Shelcia David

Written by Shelcia David

MS in Information @ UW Madison || Ex Senior Software Developer @NASDAQ. I write articles about Web apps, UX and whatever I find interesting. www.shelcia-dev.me