Get real viewport width & height
Play with the library in CodeSandbox
First, install the library in your project by npm:
$ npm install react-viewport-hooks
Or Yarn:
$ yarn add react-viewport-hooks
Name | Type | Default | Description |
---|---|---|---|
updateOnResize | boolean | true |
Update sizes on window resize |
defaultVW | number | undefined |
Fallback for default vw value |
defaultVH | number | undefined |
Fallback for default vh value |
Name | Type | Description |
---|---|---|
vw | number | Window viewport width |
vh | number | Window viewport height |
useViewport
hook:
import React from 'react';
import { useViewport } from 'react-viewport-hooks';
const App = () => {
const { vw, vh } = useViewport(/* object with options (if needed) */);
document.documentElement.style.setProperty('--vw', `${vw}px`);
document.documentElement.style.setProperty('--vh', `${vh}px`);
return <h1>Hello Viewport!</h1>;
};
export default App;
withViewport
HOC:
import React from 'react';
import { withViewport } from 'react-viewport-hooks';
const App = ({ vw, vh }) => {
document.documentElement.style.setProperty('--vw', `${vw}px`);
document.documentElement.style.setProperty('--vh', `${vh}px`);
return <h1>Hello Viewport!</h1>;
};
export default withViewport(/* object with options (if needed) */)(App);
This project is licensed under the MIT License ยฉ 2019-present Jakub Biesiada