машинописный текст пользовательский компонент функция выдачи параметров предупреждение - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть этот кусок кода

<GoogleLogin
  onSuccess={responseGoogle => {
    const { email, name } = responseGoogle.profileObj; // error: Property 'profileObj' does not exist on type 'GoogleLoginResponse | GoogleLoginResponseOffline'.
  }}
/>

Библиотека находится здесь https://www.npmjs.com/package/react-google-login

Что мне делать? Я пытался (responseGoogle: любой) это не работает.

Ответы [ 3 ]

0 голосов
/ 18 февраля 2020

Вы должны указать тип ответа при входе в систему. Это может быть GoogleLoginResponseOffline или GoogleLoginResponse. Свойство profileObj существует только в GoogleLoginResponse. Если вы запрашиваете доступ в автономном режиме, в ответе будет только code в ответе, и вы должны использовать тип GoogleLoginResponseOffline.

<GoogleLogin
        onSuccess={(responseGoogle: GoogleLoginResponse) => {
          const { email, name } = responseGoogle.profileObj; 

        }}
      />
0 голосов
/ 18 февраля 2020

Попробуйте это

<GoogleLogin
  onSuccess={({ profileObj: { email, name } = {} }: any) => {
    // use email and name
  }
/>
0 голосов
/ 18 февраля 2020

Попробуйте это

  <GoogleLogin
    onSuccess={(responseGoogle: GoogleLoginResponse ) => {
      const { email, name } = responseGoogle.profileObj

    }}
  />

Или вы также можете использовать ключевое слово as , чтобы дать знать машинописному тексту, что оно относится к типу GoogleLoginResponse, и не интерпретировать его как GoogleLoginResponseOffline.

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