react-remove-scroll-bar
v1+ for React 15, v2+ requires React 16.8+
Removes scroll bar (by setting overflow: hidden
on body), and preserves the scroll bar "gap".
Read - it just makes scroll bar invisible.
Does nothing if scroll bar does not consume any space.
Usage
import {RemoveScrollBar} from 'react-remove-scroll-bar';
<RemoveScrollBar /> -> no scroll bar
The Right Border
To prevent content jumps position:fixed elements with right:0
should have additional classname applied.
It will just provide a non-zero right, when it needed, to maintain the right "gap".
import {zeroRightClassName,fullWidthClassName, noScrollbarsClassName} from 'react-remove-scroll-bar';
<div className={zeroRightClassName} />
<div className={fullWidthClassName} />
<div className={noScrollbarsClassName} />
Size
500b after compression (excluding tslib).
Scroll-Locky
All code is a result of a react-scroll-locky refactoring.
Article
There is a medium article about preventing the body scroll - How to fight the scroll
License
MIT