簡體   English   中英

錯誤:無法在回調中調用 React Hook“useLogout”。 阿波羅

[英]Error: React Hook "useLogout" cannot be called inside a callback. Apollo

我不確定這個錯誤是什么以及如何解決它?

代碼:

import React, { useContext, useEffect } from 'react'
import { Layout, Loading, LangContext } from '@frontend'
import { gql, useMutation } from '@apollo/client'

const LogoutMutation = gql`
  mutation LogoutMutation {
    logout
  }
`

const Logout = (): JSX.Element => {
  const [useLogout] = useMutation<{ logout: boolean }>(LogoutMutation)

  useEffect(() => {
    useLogout().then(({ data }) => {
      if (data?.logout === true) window.location.href = '/'
    })
  }, [useLogout])

  return null
}

export default Logout

錯誤:

16:5 錯誤 React Hook“useLogout”無法在回調中調用。 React Hooks 必須在 React 函數組件或自定義 React Hook 函數中調用 react-hooks/rules-of-hooks

React aslo 識別函數名稱以“use”開頭作為自定義鈎子,所以我需要更改useLogout => doLogout

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM