How to Make Responsive JSX in React
I recently had the need to create a responsive sidebar in React that appears differently on large screens compared to smaller screens. In order to achieve this, I wanted to find a way to detect changes in responsive layouts in JSX.


To accomplish this, you can use the react-responsive package.
First, install the package using npm:
| 1 | npm install react-responsive | 
Then, import the useMediaQuery hook into your components:
| 1 | import { useMediaQuery } from 'react-responsive'; | 
You can use the useMediaQuery hook like this:
| 1 | const isBigScreen = useMediaQuery({ query: '(min-device-width: 1224px)' }); | 
This example demonstrates the usage of breakpoints provided on the component’s home page, and they worked perfectly for my requirements.
I implemented this in a layout component like this:
| 1 | import { useMediaQuery } from 'react-responsive'; | 
In my implementation, I passed a small prop to the LeftSidebar component so that it could adjust its rendering accordingly.
Alternatively, you can create components that wrap JSX to create a cleaner structure:
| 1 | import { useMediaQuery } from 'react-responsive'; | 
Using these wrapper components provides a more readable structure in JSX.
Tags: React, JSX, responsive layouts, react-responsive