У меня есть модальный компонент (React), который наблюдает за изменениями с помощью метода open, close в хранилище mobx.
При открытии мне нужно установить document.body.style.overflow = 'hidden'
для сохранения модальной прокрутки.В заключение я очищаю скрытый стиль от тела.
@action open = () => {
document.body.style.overflow = 'hidden'
}
@action close = () => {
document.body.style.overflow = ''
}
Есть ли лучший способ сделать это с autorun
?
Я не могу понять, где вызвать автозапусквне класса Store или имеет метод внутри.Мне не повезло.
autorun(
() => {
document.body.style.overflow = this.isMaximized ? 'hidden' : ''
},
{ name: 'bodyOverflowUpdate' }
)
Для справки this.isMaximized
- это вычисленное значение
@computed
get isMaximized() {
return this.modalState.isOpen && !this.modalState.isMinimized
}