Использование объекта окна в моем компоненте, вызывающее ошибку после первой работы - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь использовать событие окна, чтобы добавить фон к моей навигации при прокрутке.Сначала это сработало.Теперь я не могу собрать и получить следующую ошибку в консоли:

"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'}} >

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...