react-viewport-hooks
Version:
Get real viewport width & height
80 lines (52 loc) • 2.11 kB
Markdown
[](https://www.npmjs.com/package/react-viewport-hooks)
[](https://www.npmjs.com/package/react-viewport-hooks)
Get real viewport width & height
First, install the library in your project by npm:
```sh
$ npm install react-viewport-hooks
```
Or Yarn:
```sh
$ 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:**
```js
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:**
```js
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