Пакет NPM пытается записать в документ и терпит неудачу

Пакет - реагировать-Google-календарь-API

Я пытаюсь следовать простому примеру, чтобы войти в систему с помощью Google:

import React, {ReactNode, SyntheticEvent} from 'react';
import ApiCalendar from 'react-google-calendar-api';

export default class Calendar extends React.Component {

        constructor(props) {
            super(props);
            this.handleItemClick = this.handleItemClick.bind(this);
        }


        handleItemClick(event, name) {
            if (name === 'sign-in') {
                ApiCalendar.handleAuthClick();
              } else if (name === 'sign-out') {
                ApiCalendar.handleSignoutClick();
              }
        }

        render() {
            return (
                <div>
                        <button
                                onClick = {(e) => this.handleItemClick(e, 'sign-in').bind(this)}
                        >
                            sign-in
                        </button>
                        <button
                                onClick = {(e) => this.handleItemClick(e, 'sign-out').bind(this)}
                        >
                            sign-out
                        </button>
                </div>
                );
        }
}

Мое приложение Meteor не запускается Пакет NPM пытается записать в документ и терпит неудачу

Я думаю, нет смысла пытаться получить доступ к документу или окну из внешней библиотеки. Возможно, мне здесь не хватает какой-то концепции React / Javascript.

Попробуйте удалить привязку ваших обработчиков внутри кнопок, чтобы onClick = {(e) => this.handleItemClick(e, 'sign-in').bind(this)} превратился в onClick = {e => this.handleItemClick(e, 'sign-in')}. Не уверен, что это решит вашу проблему, но в этом нет необходимости, поскольку вы связали их в своем конструкторе. Возможно, что, привязывая их снова, поскольку вы создаете курьерскую функцию (надеюсь, я правильно использую этот термин), вы привязываете их к самой функции onClick, а не к компоненту. Но помимо этого я не знаю, что тебе сказать

Adam Johnston 04.08.2018 22:01

Я это уже пробовал. Та же ошибка. Но спасибо

nosferatu 04.08.2018 23:07

Похоже, что lib ожидает запуска в браузере. Я не очень хорошо знаю Meteor, но вы пытаетесь рендерить на стороне сервера?

Zac Anger 05.08.2018 00:33

Установленный компонент находится на стороне клиента. Я могу запустить, например, jQuery внутри любого компонента. Итак, я не знаю, что происходит ...

nosferatu 05.08.2018 00:59

Вы уверены, что ваш код работает в браузере? Такая ошибка консоли пришла с сервера, а Meteor не передает ошибки от клиента к серверу? Каков путь к этому файлу в вашем проекте и откуда он?

Zack Newsham 09.08.2018 06:05
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
5
29
0

Другие вопросы по теме