Hook useGetFriendsList

O hook useGetFriendsList é responsável por buscar e gerenciar a lista de amigos do usuário. Ele utiliza a biblioteca react-query para realizar a consulta de dados de forma assíncrona e eficiente, proporcionando um estado reativo para a interface do usuário.

Função e Utilização

  • useQuery: hook do react-query utilizado para realizar a consulta de dados.

Estado e Hooks Utilizados

  • data: dados retornados pela consulta, contendo a lista de amigos.
  • isLoading: booleano indicando se a consulta está em andamento.
  • error: erro retornado pela consulta, se houver.
  • queryKey: chave única para identificar a consulta na cache do react-query.
  • queryFn: função de consulta que realiza a requisição para obter os dados dos usuários.

Funções Utilizadas

  • apiFunction.getFriendsList: função API para buscar a lista de amigos.

Descrição dos Retornos

  • status : Status da operação de consulta, podendo ser 'friendsList' ou 'error'.
  • message : Mensagem descritiva sobre o status atual da operação.
  • friendsList : Lista de amigos retornada pela consulta, ou undefined se não houver dados.
  • friendsListLoading indicando se a lista de amigos está carregando (true enquanto os dados estão sendo carregados).
  • friendsListError : Booleano indicando se houve um erro na consulta (true se ocorreu um erro).

Estrutura do Código

    import { apiFunction } from '@/api/api'
    import { useQuery } from '@tanstack/react-query'

    export const useGetFriendsList = () => {
    const { data, isLoading, isError } = useQuery({
        queryKey: ['friends'],
        queryFn: apiFunction.getFriendsList,
    })

    if (isLoading) return { status: 'friendsList', message: 'Carregando...' }
    if (isError)
        return {
        status: 'error',
        message: 'Ocorreu um erro ao buscar os usuários da sua lista',
    }

    const friendsList = data

    return {
        friendsList,
        friendsListLoading: isLoading,
        friendsListError: isError,
    }
    }

Exemplo de Uso