首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用typescript时,react-google-login中的注销挂钩出现问题

使用typescript时,react-google-login中的注销挂钩出现问题
EN

Stack Overflow用户
提问于 2020-07-22 16:38:24
回答 2查看 844关注 0票数 1

我对onLogoutSuccess有问题:

代码语言:javascript
复制
 const onLogoutSuccess = (res: any) =>{
    alert('Logout successfully');
  }

const { signOut } = useGoogleLogout({
    clientId,
    onLogoutSuccess,
    onFailure
  })

我得到了错误:

代码语言:javascript
复制
(property) UseGoogleLogoutProps.onLogoutSuccess?: (() => void) | undefined
Type '(res: any) => void' is not assignable to type '() => void'.ts(2322)
index.d.ts(136, 12): The expected type comes from property 'onLogoutSuccess' which is declared here on type 'UseGoogleLogoutProps'
EN

回答 2

Stack Overflow用户

发布于 2020-11-08 23:21:31

代码语言:javascript
复制
export interface GoogleLogoutProps {
  readonly clientId: string,
  readonly onLogoutSuccess?: () => void;
  readonly onFailure?: () => void;
  ....
}

你会得到这个错误,因为onLogoutSuccess钩子没有参数。在本例中,使用传入的res:any。

你可以像这样使用它,并且你不会得到那个错误。

代码语言:javascript
复制
  const onLogoutSuccess = () => {
    console.log("logout success");
  }

  const onFailure = () => {
    console.log("logout failure");
  }
票数 0
EN

Stack Overflow用户

发布于 2020-12-09 22:24:45

我已经解决了这个问题,请看一下,希望对你的目标有所帮助。

JS代码

代码语言:javascript
复制
const onLogoutSuccess = () => {
    console.log('logout');
    history.push('/');
  };
  const onFailure = () => {
    console.log('logout fail');
  };
  const { signOut } = useGoogleLogout({
    clientId: GOOGLE_CLIENT_ID,
    onLogoutSuccess: onLogoutSuccess,
    onFailure: onFailure,
  });

Html

代码语言:javascript
复制
 <button onClick={signOut}>Log Out</button>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63030148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档