React Hooks
แพ็กเกจ bitsocial-react-hooks เปิดโปรโตคอล Bitsocial ออกมาในรูปของ React hooks API ที่นักพัฒนาคุ้นเคยอยู่แล้ว ครอบคลุมตั้งแต่การดึงฟีด ความคิดเห็น และโปรไฟล์ผู้เขียน ไปจนถึงการจัดการบัญชี การเผยแพร่เนื้อหา และการติดตามชุมชน -- โดยไม่ต้องพึ่งเซิร์ฟเวอร์ส่วนกลางเลยสักขั้นตอนเดียว
ไลบรารีนี้คืออินเทอร์เฟซหลักที่ 5chan และไคลเอ็นต์อื่น ๆ ของ Bitsocial ใช้งานอยู่
ขณะนี้ bitsocial-react-hooks ยังไม่ถูกเผยแพร่ขึ้น npm จึงต้องดึงมาจาก GitHub โดยตรง
การติดตั้ง
เนื่องจากแพ็กเกจยังไม่อยู่บน npm ให้ติดตั้งจาก GitHub โดยตรง พร้อมตรึงไว้ที่แฮชของคอมมิตที่ต้องการ:
yarn add https://github.com/bitsocialnet/bitsocial-react-hooks.git#<commit-hash>
แทนที่ <commit-hash> ด้วยคอมมิตที่คุณต้องการใช้
ภาพรวมของ API
hooks ถูกจัดกลุ่มตามหน้าที่การใช้งาน ด้านล่างนี้คือสรุปของ hooks ที่ใช้บ่อยที่สุดในแต่ละกลุ่ม หากต้องการรายละเอียดครบถ้วนทั้ง signature พารามิเตอร์ และชนิดข้อมูลที่ส่งคืน ดูได้จาก เอกสารอ้างอิง API ฉบับเต็มบน GitHub
บัญชี
จัดการบัญชีผู้ใช้ในเครื่อง ตัวตน และการตั้งค่าต่าง ๆ
useAccount(accountName?)-- ส่งคืนอ็อบเจกต์ของบัญชีที่กำลังใช้งานอยู่ หรือบัญชีตามชื่อที่ระบุuseAccounts()-- ส่งคืนบัญชีทุกบัญชีที่เก็บอยู่ในเครื่องuseAccountComments(options?)-- ส่งคืนความคิดเห็นทั้งหมดที่บัญชีปัจจุบันเคยเผยแพร่ไว้
ความคิดเห็น
ดึงและทำงานกับความคิดเห็นรายชิ้นและเธรดสนทนา
useComment(commentCid?)-- ดึงความคิดเห็นหนึ่งรายการจาก CID ของมันuseComments(commentCids?)-- ดึงความคิดเห็นหลายรายการพร้อมกันเป็นชุดเดียวuseEditedComment(comment?)-- ส่งคืนความคิดเห็นฉบับที่ถูกแก้ไขล่าสุด
ชุมชน
เรียกดูเมทาดาทาและการตั้งค่าของชุมชน
- hook สำหรับค้นหาชุมชนเดียว -- ดึงข้อมูลชุมชนจากที่อยู่
- hook สำหรับค้นหาหลายชุมชน -- ดึงข้อมูลชุมชนหลายแห่งพร้อมกัน
- hook สำหรับสถิติของชุมชน -- ส่งคืนจำนวนผู้ติดตามและจำนวนโพสต์
ผู้เขียน
ค้นหาโปรไฟล์และเมทาดาทาของผู้เขียน
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- hook สำหรับการตั้งค่า RPC -- ส่งคืนการกำหนดค่าปัจจุบันของเดมอน RPC
การพัฒนา
หากต้องการพัฒนาไลบรารี hooks นี้ในเครื่องของคุณเอง:
สิ่งที่ต้องเตรียม: Node.js, เปิดใช้งาน Corepack แล้ว, Yarn 4
git clone https://github.com/bitsocialnet/bitsocial-react-hooks.git
cd bitsocial-react-hooks
corepack enable
yarn install
ดูคำสั่งสำหรับทดสอบและบิลด์ได้จากไฟล์ README ของที่เก็บโค้ด
ลิงก์
- GitHub: bitsocialnet/bitsocial-react-hooks
- สัญญาอนุญาต: GPL-2.0-only