
Research
Malicious fezbox npm Package Steals Browser Passwords from Cookies via Innovative QR Code Steganographic Technique
A malicious package uses a QR code as steganography in an innovative technique.
react-matchqueries
Advanced tools
Library to control the design of your application using media queries
Library to control the design of your application using media queries 🔥
Via NPM:
npm install react-matchqueries --save
Via Yarn:
yarn add react-matchqueries
MatchQueriesProvider
import { MatchQueriesProvider } from 'react-matchqueries';
const queries = {
isMobile: 'screen and (max-width: 767px)',
isTablet: 'screen and (min-width: 768px) and (max-width: 1023px)',
isDekstopS: 'screen and (min-width: 1024px) and (max-width: 1365px)',
isDekstop: 'screen and (min-width: 1366px) and (max-width: 1440px)',
isDekstopL: 'screen and (min-width: 1441px)'
}
export const Route = (props) => (
<MatchQueriesProvider queries={queries}>
<MyApp />
</MatchQueriesProvider>
);
MatchQueriesConsumer
import { MatchQueriesConsumer } from 'react-matchqueries';
export const MyApp = () => (
<MatchQueriesConsumer>
{({ isDekstopS, isDekstop, isDekstopL, isTablet, isMobile }) => (
<>
{(isDekstopS || isDekstop || isDekstopL) && <p>Desktop View</p>}
{(isTablet || isMobile) && <p>Tablet and Mobile View</p>}
</>
)}
</MatchQueriesConsumer>
);
You can pass in media features from your server, all supported values can be found here.
Usage (matches mobile screen during SSR):
import { MatchQueriesProvider } from 'react-matchqueries';
const Route = () => {
const values = {
width: 300,
type: 'screen',
};
return (
<MatchQueriesProvider values={values}>
<MyApp />
</MatchQueriesProvider>
);
};
It's very important to realise a server client mismatch is dangerous when using hydrate in React 16, ReactDOM.hydrate
can cause very strange html on the client if there is a mismatch.
To mitigate this we use the two-pass rendering technique mentioned in the React docs.
We render on the client in the first pass using values
with css-mediaquery
used on the server, then we use the matchmedia
to get it's actual dimensions and render again if it causes different query results. This means there should be no React
server/client mismatch warning in your console and you can safely use hydrate. As a result of above, if you are server side rendering and using ReactDOM.hydrate
you must supply MatchQueriesConsumer
a values
prop.
FAQs
Library to control the design of your application using media queries
We found that react-matchqueries demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
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.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.
Application Security
/Research
/Security News
Socket detected multiple compromised CrowdStrike npm packages, continuing the "Shai-Hulud" supply chain attack that has now impacted nearly 500 packages.