Lock scrolling when modal is open
This commit is contained in:
parent
b6d50e4157
commit
37140bf9e1
2 changed files with 6 additions and 0 deletions
|
|
@ -4,6 +4,10 @@ html {
|
|||
padding: 16px;
|
||||
}
|
||||
|
||||
body.no-scroll {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,11 +27,13 @@ const Portal = ({ children }) => {
|
|||
useEffect(() => {
|
||||
modalRoot.appendChild(modalDiv.current)
|
||||
return () => {
|
||||
document.body.classList.remove('no-scroll')
|
||||
return modalRoot.removeChild(modalDiv.current)
|
||||
}
|
||||
}, [modalDiv, modalRoot])
|
||||
|
||||
if (modalDiv.current) {
|
||||
document.body.classList.add('no-scroll')
|
||||
return createPortal(children, modalDiv.current)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue