Перейти до основного вмісту

Хуки React

Пакет bitsocial-react-hooks дає звичний для React API у вигляді хуків для роботи з протоколом Bitsocial. Він бере на себе завантаження стрічок, коментарів і профілів авторів, керування акаунтами, публікацію вмісту та підписку на спільноти — і все це без опори на центральний сервер.

Ця бібліотека є основним інтерфейсом, який використовують 5chan та інші клієнтські застосунки Bitsocial.

примітка

Наразі bitsocial-react-hooks підключають безпосередньо з GitHub, а не з npm.

Встановлення

Оскільки пакета ще немає в npm, встановлюйте його безпосередньо з GitHub, закріплюючись за конкретним хешем коміту:

yarn add https://github.com/bitsocialnet/bitsocial-react-hooks.git#<commit-hash>

Замініть <commit-hash> на той коміт, який вам потрібен.

Огляд API

Хуки згруповані за функціональними категоріями. Нижче наведено найуживаніші хуки з кожної категорії. Повні сигнатури, параметри й типи, що повертаються, дивіться в повному довіднику API на GitHub.

Акаунти

Керування локальними акаунтами користувача, ідентичністю та налаштуваннями.

  • useAccount(accountName?) — повертає об’єкт активного (або вказаного на ім’я) акаунта
  • useAccounts() — повертає всі акаунти, збережені локально
  • useAccountComments(options?) — повертає коментарі, опубліковані активним акаунтом

Коментарі

Отримання окремих коментарів і гілок обговорення та взаємодія з ними.

  • useComment(commentCid?) — завантажує один коментар за його CID
  • useComments(commentCids?) — завантажує кілька коментарів одним пакетом
  • useEditedComment(comment?) — повертає найновішу відредаговану версію коментаря

Спільноти

Отримання метаданих і налаштувань спільноти.

  • Хук пошуку однієї спільноти — завантажує спільноту за адресою
  • Хук пошуку кількох спільнот — завантажує одразу кілька спільнот
  • Хук статистики спільноти — повертає кількість підписників і дописів

Автори

Пошук профілів авторів і супутніх метаданих.

  • useAuthor(authorAddress?) — завантажує профіль автора
  • useAuthorComments(options?) — повертає коментарі конкретного автора
  • useResolvedAuthorAddress(authorAddress?) — перетворює зрозумілу людині адресу (наприклад, ENS) на адресу протоколу

Стрічки

Підписка на стрічки вмісту та їх посторінкове завантаження.

  • useFeed(options?) — повертає посторінкову стрічку дописів з однієї або кількох спільнот
  • useBufferedFeeds(feedOptions?) — заздалегідь буферизує кілька стрічок, щоб вони швидше відображалися
  • useAuthorFeed(authorAddress?) — повертає стрічку дописів конкретного автора

Дії

Публікація вмісту та операції запису.

  • usePublishComment(options?) — публікує новий коментар або відповідь
  • usePublishVote(options?) — віддає голос «за» або «проти»
  • useSubscribe(options?) — підписує на спільноту або скасовує підписку

Стани та RPC

Спостереження за станом підключення та взаємодія з віддаленим демоном Bitsocial.

  • useClientsStates(options?) — повертає стан підключення клієнтів IPFS/pubsub
  • Хук налаштувань RPC — повертає поточну конфігурацію демона RPC

Розробка

Щоб працювати над бібліотекою хуків локально:

Вимоги: Node.js, увімкнений Corepack, Yarn 4

git clone https://github.com/bitsocialnet/bitsocial-react-hooks.git
cd bitsocial-react-hooks
corepack enable
yarn install

Команди для тестування та збірки шукайте у файлі README цього репозиторію.

Посилання