Я пытаюсь использовать событие окна, чтобы добавить фон к моей навигации при прокрутке.Сначала это сработало.Теперь я не могу собрать и получить следующую ошибку в консоли:
"Uncaught TypeError: doc.documentElement.doScroll не является функцией в ready.js: 19 в ready.js: 7 в Object../node_modules/@mikaelkristiansson/domready.ready.js..."
Я пытался, как некоторые предлагали в отношении использования оконных объектов в Гэтсби, переместить аргументы моей функции прокрутки в жизненный цикл ComponentDidMountметод.Это не решило проблему.Я видел, что есть проблема с использованием объекта окна в SSG, таких как Гэтсби, но я не понимаю, как обойти эту проблему.
Это соответствующие части моего кода на этом:
componentDidMount(){
window.addEventListener('scroll', this.handleScroll);
}
componentWillUnmount(){
window.removeEventListener('scroll', this.handleScroll);
}
handleScroll = () => {
let position = window.scrollY;
this.setState({scrolled: position})
}
и код JSX, который использует прокручиваемое значение в состоянии для применения фона:
<StyledNavbar style={this.state.showMenu || this.state.scrolled > 0 ?
{'background':'var(--Black)', 'opacity': '0.85', 'transition': '0.5s ease-
in-out'}: {'background': 'transparent'}} >