UNPKG

react-viewport-hooks

Version:
80 lines (52 loc) 2.11 kB
# [react-viewport-hooks](https://github.com/jb1905/react-viewport-hooks) [![NPM version](http://img.shields.io/npm/v/react-viewport-hooks.svg?style=flat-square)](https://www.npmjs.com/package/react-viewport-hooks) [![NPM downloads](http://img.shields.io/npm/dm/react-viewport-hooks.svg?style=flat-square)](https://www.npmjs.com/package/react-viewport-hooks) ## About Get real viewport width & height ## How to Install First, install the library in your project by npm: ```sh $ npm install react-viewport-hooks ``` Or Yarn: ```sh $ yarn add react-viewport-hooks ``` ## Getting Started #### Options | 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 | #### Returned Values | Name | Type | Description | | ------ | ------ | ---------------------- | | **vw** | number | Window viewport width | | **vh** | number | Window viewport height | #### Example **`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); ``` ## License This project is licensed under the MIT License © 2019-present Jakub Biesiada