Как я могу получить доступ к google api-скрипту на объекте окна в приложении next.js? - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь использовать Google API с приложением next.js. Я читал документацию, и рекомендация next.js для реализации API Google состоит в том, чтобы использовать следующий компонент Head.js. Я загрузил скрипт, но не могу получить доступ к свойству gapi ...

export default () => (
  <div>
    <Head>
      <link href="/static/styles.css" rel="stylesheet" />
      <script
        src="https://apis.google.com/js/platform.js?onload=init"
        async
        defer
      ></script>
    </Head>
    <Login />
  </div>
);

Мой файл GoogleClient начинается с

const GoogleClient = ({api}) => {
...
}

Я использовал компонент входа, который инициализирует файл GoogleClientas

const Login = () => {
    useEffect(()=> {
        GoogleClient(window.gapi)
    }, [])
...
}

Когда я открываю окно console.log, свойство gapi существует в объекте окна, но когда я вызываю window.gapi, я получаю следующую ошибку -> Свойство gapi не существует в типе Window& typeof globalThis '. Я погуглил ошибку, но не видел сообщений о том, как ее исправить.

1 Ответ

0 голосов
/ 10 ноября 2019

Оказывается, это была повторяющаяся ошибка в других сообщениях. Проблема была на самом деле проблема машинописи, где мне нужно было написать следующее

declare global {
  interface Window {
    gapi: any;
  }
}
...