Перейти к основному содержанию

useGMFYBadges

import { useGMFYBadges } from 'gmfy-sdk'

Мотивация

Если необходимо отрисовать свой UI или просто обработать данные, можно воспользоваться хуком useGMFYBadges. Хук позволяет получить список бейджей пользователя с userId. В случае, если был передан updateInterval в конфиг компонента провайдера, будет возвращать новые значения раз в updateInterval мс. Возвращает список бейджей и текущий статус запроса

Типизация

type Badge = {
userId: string;
badgeId: string;
clientId: string;
acquisitionDate: string;
metaInfo: Record<string, any>;
name: string;
description?: string;
permanent: boolean;
}

type Status = 'initial' | | 'done' | 'fail'

useGMFYBadges(): { badges: <Array<Badge>> | null; status: Status }

Badge

  • userId - ID пользователя, кому принадлежит бейдж
  • badgeId - ID бейджа
  • clientId - ID клиента, кому принадлежит бейдж
  • acquisitionDate - дата получения бейджа
  • metaInfo - пользовательская информация
  • name - название бейджа
  • description - описание бейджа
  • permanent - флаг обозначающий постоянный бейдж или временный

Status

  • initial - начальный статус, запрос ещё не был отправлен
  • done - запрос прошёл успешно
  • fail - во время выполнения запроса возникла ошибка

Использование

import { useGMFYBadges } from 'gmfy-sdk';

const App = () => {
const { badges, status } = useGMFYBadges();

if (status !== 'done') {
return <Preloader />;
}

return badges.map((badge) => <YourBadgeComponent key={badge.badgeId} {...badge} />);
};