A React component that allows you to conditionally render your components based on media queries for your responsive website.
Underline it uses window.matchMedia
npm i react-match-media
import React from 'react';
import ReactDOM from 'react-dom';
import { MatchMediaHOC } from 'react-match-media';
const ComponentForBigScreen = MatchMediaHOC(SomeComponent, '(min-width: 800px)');
const ComponentForSmallScreen = MatchMediaHOC(SomeComponent, '(max-width: 500px)');
ReactDOM.render(
<div className="example">
<SomeElementAlwaysRendered />
<ComponentForBigScreen />
<ComponentForSmallScreen />
</div>,
document.getElementById('root')
)
For more, see the examples
- IE10 and above
- All other major browsers
For older browsers, you need to polyfill window.matchMedia
.
For more, see Can I Use matchMedia
npm install
npm start
open http://localhost:3000
And then you can edit the source code, hotreloading is enabled, so you can see the changes immediatly
npm run lint
npm run test
npm run build
v2.2.0 - 25/April/2018
Used PropTypes from 'prop-types' package
v2.0.0 - 16/Jan/2017
Introduced a MatchMediaHOC
high order component to replace the previous MatchMedia
component.
MIT