小哥哥小姐姐看過來凉袱,這里有個組件庫需要您簽收一下

1. 前言

一直以來都想做個組件庫,一方面是對工作中常遇問題的總結(jié)侦铜,另一方面也確實能夠提升工作效率(誰又不想造一個屬于自己的輪子呢~)专甩,于是乎就有了本文的主角兒rn-components-kit

市面上web的UI組件庫如此之多钉稍,react相關(guān)的有antd涤躲,vue相關(guān)的有element。不過贡未,今天介紹的是react-native的一個組件庫种樱。不同于上述組件庫都有統(tǒng)一的視覺規(guī)范,rn-components-kit更注重的是在提供組件基本能力的同時盡可能多地賦予自定義樣式的可能性俊卤。

放上倉庫地址嫩挤,歡迎star,歡迎提issue消恍,歡迎提PR~

下面就讓我們來認(rèn)識一下rn-components-kit~

2. 快速開始

2.1 安裝

你可以通過下面的命令安裝rn-components-kit:

npm install rn-components-kit --save
import React from 'react';
import {Badge} from ' @rn-components-kit/badge';

const TestComponent = () => <Badge/>;

2.2 按需加載

上述的方法將會把所有的組件打進(jìn)bundle內(nèi)岂昭,即使你沒有用到所有的組件。如果你想減少包大小哺哼,你可以這樣引入:

npm install @rn-components-kit/badge --save
import React from 'react';
import {Badge} from ' @rn-components-kit/badge';

const TestComponent = () => <Badge/>;

事實上佩抹,每個組件都是支持單獨安裝的,我們也推薦你使用這種方式引入組件取董。

2.3 運行示例

我們創(chuàng)建了一個app專門用來演示每個組件的使用方法以及運行效果,如果你想運行這個例子无宿,你需要先下載本倉庫到本地茵汰。

# download repo
git clone https://github.com/SmallStoneSK/rn-components-kit.git

# install dependencies
npm install

# for iOS
react-native run-ios

# for android
react-native run-android

以下是運行示例app后各界面的截圖:

3. 組件

3.1 Badge

圖標(biāo)右上角的圓形徽標(biāo)數(shù)字。支持以下特性:

  • 純圓點和帶文字圓點兩種樣式
  • 自定義顏色
  • 友好的過渡動畫
npm install @rn-components-kit/badge --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3
Demo4

3.2 Button

按鈕組件孽鸡,支持以下特性:

  • default蹂午,primarysuccess彬碱,warningdanger5種主題
  • small豆胸,defaultlarge3種大小
  • squaredefaultround3種形狀
  • 支持icon按鈕和控制圖標(biāo)位置
  • 支持outline樣式按鈕
  • 支持block樣式按鈕
  • 支持link樣式按鈕
npm install @rn-components-kit/button --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3
Demo4
Demo5
Demo6
Demo7

3.3 Carousel

輪播組件巷疼,就像"旋轉(zhuǎn)木馬"一樣晚胡。支持以下特性:

  • 水平/垂直兩個方向
  • 循環(huán)模式
  • 自動播放模式
  • 居中模式,當(dāng)前項會被調(diào)整至一屏的中間,同時前一項/后一項也會露出一部分
  • 支持輪播內(nèi)容不足一屏的長度

注意

  1. 當(dāng)使用水平模式時估盘,widthitemWidth必須設(shè)置瓷患。
  2. 當(dāng)使用垂直模式時,heightitemHeight必須設(shè)置遣妥。
  3. 如果輪播組件內(nèi)容的數(shù)據(jù)源(數(shù)組)是會變化的擅编,需要設(shè)置數(shù)據(jù)源作為data屬性,不然輪播組件中的內(nèi)容將不會更新箫踩。
  4. 下面的圖片將有助于理解一些樣式上的重要變量含義:
npm install @rn-components-kit/carousel --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3
Demo4
Demo5
Demo6
Demo7

3.4 CheckBox

復(fù)選框組件爱态。

npm install @rn-components-kit/checkbox --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3
Demo4

3.5 DeckSwiper

DeckSwiper讓你一次評估一個選項,而不是從一組選項中進(jìn)行選擇境钟。

npm install @rn-components-kit/deck-swiper --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1

3.6 Divider

分割線組件肢藐,支持兩種方向: horizontalvertical.

npm install @rn-components-kit/divider --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2

3.7 Icon

語義化的矢量圖形。支持以下特性:

注意:確保你的項目已經(jīng)集成了ART模塊

如果你遇到諸如No component found for view with name "ARTXXX"之類的報錯吱韭,那是因為你的項目還沒有集成ART模塊吆豹。你需要:

  1. 使用Xcode打開項目下的ios工程,Libraries -> Add Files to -> node_modules/react-native/Libraries/ART/ART.xcodeproj理盆。
  2. 點擊項目根目錄痘煤,找到Linked Frameworks and Libraries,點擊+選擇libART.a猿规,然后重新編譯工程衷快。
  3. 重新編譯完成后,重新運行命令react-native run-ios/android姨俩,重啟項目蘸拔。
npm install @rn-components-kit/icon --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3

3.8 Progress

進(jìn)度條組件,展示當(dāng)前操作進(jìn)度环葵,支持以下特性:

  • linecircle兩種類型
  • normal调窍,activesuccessfail四種狀態(tài)
  • 自定義顏色张遭,支持線性漸變(目前僅限line類型)
  • 自定義進(jìn)度文案格式邓萨,甚至支持信息展示區(qū)域完全自定義

注意

由于本組件支持線性漸變選項,所以你的項目需要集成react-native-linear-gradient菊卷。如果你的項目還沒集成缔恳,你可以參照這里的指示完成。

npm install @rn-components-kit/progress --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3
Demo4
Demo5

3.9 Radio

Radio組件讓用戶從一堆選項中選擇一項洁闰,支持以下特性:

  • 禁用點擊
  • 自定義選中/未選中icon或圖片
  • 狀態(tài)切換時有過渡動畫
npm install @rn-components-kit/radio --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3
Demo4

3.10 Rating

評分組件歉甚,支持以下特性:

  • 支持點選滑動操作進(jìn)行評分
  • 自定義圖標(biāo)樣式(包括類型顏色扑眉,大小
  • 支持不同的滑動步長(例如:0.1/0.2/0.5/1)
npm install @rn-components-kit/rating --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3

3.11 ScrollPicker

滾動選擇器纸泄,支持以下特性:

  • 抹平AndroidiOS平臺的交互差異
  • 支持多項選擇器
  • 支持級聯(lián)選擇
  • ScrollPicker.Item支持自定義選項內(nèi)容
npm install @rn-components-kit/scroll-picker --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3

3.12 Skeleton

骨架屏赖钞,常在loading時起占位的作用,支持以下特性:

  • avatar刃滓,title仁烹,paragraph 三部分均支持定制化
  • 可以使用高階組件withSkeleton完全定制化骨架屏的組成和樣式

注意

當(dāng)你使用裝飾器的語法使用高階組件withSkeleton時,確保你的項目安裝了插件@babel/plugin-proposal-decorators.

npm install @rn-components-kit/skeleton --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2

3.13 Slider

以滑動的交互形式咧虎,從指定范圍內(nèi)選擇值卓缰。支持以下特性:

  • 水平垂直兩種方向
  • 12個滑塊
  • 滑塊和軌道樣式高度可定制化
  • tip文案可定制化
npm install @rn-components-kit/slider --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3
Demo4

3.14 Spin

用于展示頁面或區(qū)塊的加載中狀態(tài)。支持以下7種不同動畫類型:

  • Ladder
  • Rainbow
  • Wave
  • RollingCubes
  • ChasingCircles
  • Pulse
  • FlippingCard
npm install @rn-components-kit/spin --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3
Demo4
Demo5
Demo6
Demo7

3.15 SwipeOut

iOS樣式的滑動隱藏按鈕組件砰诵,支持以下特性:

  • 支持兩個方向滑出
  • 隱藏部分支持多個按鈕配置
  • 隱藏部分完全自定義
npm install @rn-components-kit/swipe-out --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3

3.16 Switch

開關(guān)選擇器征唬,支持以下特性:

  • 自定義顏色
  • 自定義大小
  • 兩種風(fēng)格: cupertinomaterial
npm install @rn-components-kit/switch --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3
Demo4
Demo5

3.17 Tag

進(jìn)行標(biāo)記和分類的小標(biāo)簽。支持以下特性:

  • 自定義顏色
  • 支持兩種風(fēng)格:outlinesolid
  • 可關(guān)閉及其關(guān)閉事件回調(diào)函數(shù)
npm install @rn-components-kit/tag --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1
Demo2
Demo3

3.18 Tooltip

當(dāng)用戶點擊某個元素茁彭,展示一個氣泡框总寒,支持以下特性:

  • 氣泡框支持topbottom兩個方向
  • 完全自定義氣泡框內(nèi)容
npm install @rn-components-kit/tooltip --save

詳細(xì)API請查看文檔

組件示例預(yù)覽效果 代碼
Demo1

4. 寫在最后

最后再次放上倉庫地址,歡迎star理肺,歡迎提issue摄闸,歡迎提PR~

你也可以關(guān)注我的Blog,歡迎一起交流學(xué)習(xí)~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末妹萨,一起剝皮案震驚了整個濱河市年枕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乎完,老刑警劉巖熏兄,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異树姨,居然都是意外死亡摩桶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門帽揪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來硝清,“玉大人,你說我怎么就攤上這事台丛∷=桑” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵挽霉,是天一觀的道長。 經(jīng)常有香客問我变汪,道長侠坎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任裙盾,我火速辦了婚禮实胸,結(jié)果婚禮上他嫡,老公的妹妹穿的比我還像新娘。我一直安慰自己庐完,他們只是感情好钢属,可當(dāng)我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著门躯,像睡著了一般淆党。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上讶凉,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天染乌,我揣著相機(jī)與錄音,去河邊找鬼懂讯。 笑死荷憋,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的褐望。 我是一名探鬼主播勒庄,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瘫里!你這毒婦竟也來了实蔽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤减宣,失蹤者是張志新(化名)和其女友劉穎盐须,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體漆腌,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡贼邓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了闷尿。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塑径。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖填具,靈堂內(nèi)的尸體忽然破棺而出统舀,到底是詐尸還是另有隱情,我是刑警寧澤劳景,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布誉简,位于F島的核電站,受9級特大地震影響盟广,放射性物質(zhì)發(fā)生泄漏闷串。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一筋量、第九天 我趴在偏房一處隱蔽的房頂上張望烹吵。 院中可真熱鬧碉熄,春花似錦、人聲如沸肋拔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凉蜂。三九已至琼梆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跃惫,已是汗流浹背叮叹。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留爆存,地道東北人蛉顽。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像先较,于是被迫代替她去往敵國和親携冤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,976評論 2 355