哐呱哩 · 開源

做得小,響得亮。

為 React 與 React Native 打造的開源狀態管理與動態效果工具。三個專注的套件,從第一次 import 就能用,需要多少再擴充多少。

  • 3 個套件
  • React · React Native
  • 內建 TypeScript 型別宣告
  • ISC 授權

敲一下銅鑼,每個工具都會用自己的方式回應這聲響。

01 · 工具

三件樂器,一個節拍。

每個工具都把一件事做到底。可以單獨使用,也可以組合使用——它們本來就是為了彼此契合而設計的。

restate

狀態管理React + React Native

一個 Hook 就能共享,何時儲存由你決定。

不需要 Provider、action 或 reducer,元件就能讀取同一個值。只有選取的部分改變時才會重新渲染,儲存與還原只在你指定的時候發生。

  • 不需要 Provider 就能共享
  • 只訂閱你選取的部分
  • 明確地儲存到 IndexedDB 或 MMKV
安裝
npm install @kkwaenggwari/restate

即時

兩個元件,一個 store

按下任一邊的按鈕。兩個面板讀取同一個 restate() 值並一起變化;運費標章只監聽一個選取結果。

頁首

2 件在購物車中

商品清單

2 件在購物車中

Animated

動態效果引擎React DOM

一個值,指揮整個畫面。

在 React DOM 上使用你在 React Native Animated 中熟悉的 timing、spring 和 interpolate。一個值驅動眾多元素的樣式,而且不會每一格都觸發 React 渲染。

  • 你熟悉的 React Native Animated API
  • 被中斷時保留位置與速度
  • 擁有者消失時自動清理
安裝
npm install @kkwaenggwari/animated

即時

一個 Value,十二個形狀

滑桿只改變一個 Value,十二個形狀的位置、旋轉、大小和圓角全都由它推導。按一下彈簧,再趁動畫進行中抓住滑桿試試。

Animated Chorus

完成品元件React · React Native

難做的互動,已經替你完成。

滾動的數字、會移動的醒目標示、只有變動項目才會動的清單、底部面板與滑動操作。只要傳入資料,不需要 Provider 或初始化呼叫,React 與 React Native 都能用。

  • 數字、分頁標籤、清單與面板
  • Web 與原生使用同一個 import
  • 新的輸入會從畫面上的當下狀態繼續
安裝
npm install @kkwaenggwari/animated-chorus @kkwaenggwari/animated

即時

只需要資料的儀表板

選一個時段:MotionHighlight 移過去,MotionNumber 滾動,ProgressRing 填滿,MotionList 只移動有變化的列。

今天本週本月

造訪次數

1,284

  1. 首頁
  2. 價格
  3. 文件
  4. 部落格

範例資料

02 · 合奏

敲一下,全都動起來。

這個舞台是用 Animated 打造的。一個保存捲動進度的 Value,同時指揮 48 個形狀的位置、旋轉、縮放與透明度。

  1. 01
    迴響

    散落的點聚成銅鑼的圓環。

  2. 02
    分開

    圓環一分為三,各自染上每個工具的顏色。

  3. 03
    成形

    它們變成狀態的連線、動態的軌跡與合唱的柱子。

  4. 04
    合拍

    一切排列整齊,落在同一個節拍上。

progress1.00

03 · 原則

小,貫徹到底。

從一個 import 開始

一開始不需要包住整個應用程式的 Provider 或全域設定。應用程式需要什麼功能,再加上什麼功能。

只更新需要的部分

只有選取結果改變的元件、使用某個值的元素,以及有移動的列會被更新。

負責到最後

被中斷的動態會從畫面上的當下狀態繼續;擁有者消失時,訂閱與動畫都會被釋放。

型別完整,文件齊全

每個套件都內建 TypeScript 型別宣告,文件提供 39 種語言。

04 · 名字的由來

哐呱哩,開啟合奏的那面小鑼。

哐呱哩(Kkwaenggwari)取自韓國傳統打擊樂器「꽹과리」的發音,「哐」正是銅鑼敲響的聲音。在韓國傳統農樂(풍물)中,領頭敲꽹과리的樂手為整個合奏定下節拍。我們的工具也想做到這樣:小而清晰,讓整個應用程式踩在同一個節拍上。

kkwaenggwari哐呱哩(Kkwaenggwari)這個名字來自韓國傳統打擊樂器「꽹과리」的發音。它是一面用槌敲擊的小銅鑼,聲音明亮清脆——我們也想做出這樣小而有存在感的開源工具。