推薦11 款 React Native 開源移動 UI 組件

2020-12-25 開源中國

本文推薦 11 個非常棒的 React Native 開源組件,希望能給移動應用開發者提供幫助。

React Native 是近期 Facebook 基於 MIT 協議開源的原生移動應用開發框架,已經用於 Facebook 的生產環境。React Native 可以使用最近非常流行的 React.js 庫來開發 iOS 和 Android 原生 APP。

1. iOS 表單處理控制項 tcomb-form-native

tcomb-form-native 是 React Native 強大的表單處理控制項,支持 JSON 模式,可插拔的外觀和感覺。在線演示:http://react.rocks/example/tcomb-form-native。

2. 攝像機視圖 react-native-camera

react-native-camera 是 React Native 的攝像頭 viewport。這個模塊應用於開發的早期階段,它支持攝像頭的轉換和基本圖片捕捉。

使用示例:

var React = require('react-native');var {  AppRegistry,  StyleSheet,  Text,  View,} = React;var Camera = require('react-native-camera');var cameraApp = React.createClass({  render: function() {    return (      <View>        <TouchableHighlight onPress={this._switchCamera}>          <View>            <Camera              ref="cam"              aspect="Stretch"              orientation="PortraitUpsideDown"              style={{height: 200, width: 200}}            />          </View>        </TouchableHighlight>      </View>    );  },  _switchCamera: function() {    this.refs.cam.switch();  }});AppRegistry.registerComponent('cameraApp', () => cameraApp);

3. react-native-video

react-native-video 是 <Video> 標籤控制項。

示例:

// Within your render function, assuming you have a file called// "background.mp4" in your project<Video source={"background"} style={styles.backgroundVideo} repeat={true} />// Later on in your styles..var styles = Stylesheet.create({  backgroundVideo: {    resizeMode: 'cover', // stretch and contain also supported    position: 'absolute',    top: 0,    left: 0,    bottom: 0,    right: 0,  },});

4. 導航控制項 react-native-navbar

react-native-navbar 是用於 React Native 上簡單的定製化導航欄。

示例代碼:

var NavigationBar = require('react-native-navbar');var ExampleProject = React.createClass({    renderScene: function(route, navigator) {        var Component = route.component;        var navBar = route.navigationBar;        if (navBar) {      navBar = React.addons.cloneWithProps(navBar, {navigator: navigator,        route: route      });    }    return (<View style={styles.navigator}>        {navBar}<Component navigator={navigator} route={route} />      </View>    );  },  render: function() {return (<Navigator        style={styles.navigator}        renderScene={this.renderScene}        initialRoute={{          component: InitialView,          navigationBar: <NavigationBar title="Initial View"/>        }}      />    );  }});

5. React Native 輪播控制項 react-native-carousel

react-native-carousel 是一個簡單的 React Native 輪播控制項。

示例代碼:

var Carousel = require('react-native-carousel');var ExampleProject = React.createClass({  render() {       return (              <Carousel width={375} indicatorColor="#ffffff" inactiveIndicatorColor="#999999">        <MyFirstPage />        <MySecondPage />        <MyThirdPage />      </Carousel>    );  }});

6. 下拉刷新組件 react-native-refreshable-listview

react-native-refreshable-listview 是下拉刷新 ListView,當數據重載的時候顯示加載提示。

7. Modal 組件 react-native-modal

react-native-modal 是 React Native 的 <Modal> 組件。

8. 文本解析控制項 react-native-htmltext

react-native-htmltext 可以用 HTML 像 markup 一樣在 ReactNative 裡創建出相應效果的樣式文本。ReactNative 為那些樣式文本提供一個文本元素,用於取代 NSAttributedString,你可以創建嵌套的文本:

<Text style={{fontWeight: 'bold'}}>  I am bold   <Text style={{color: 'red'}}> and red </Text></Text

9. react-native-htmlview

react-native-htmlview 是一個將 HTML 目錄作為本地視圖的控制項,其風格可以定製。

10. LinearGradient 組件 react-native-linear-gradient

react-native-linear-gradient 是一個 React Native 的 LinearGradient 組件。

11. 雙向循環播放 react-native-looped-carousel

react-native-looped-carousel 是基於 React Native 的雙向循環播放控制項。

 示例代碼:

'use strict';var React = require('react-native');var Carousel = require('react-native-looped-carousel');var Dimensions = require('Dimensions');var {width, height} = Dimensions.get('window');var {  AppRegistry,  StyleSheet,  Text,  View} = React;var carouselTest = React.createClass({  render: function() {    return (      <Carousel delay={500}>          <View style={{backgroundColor:'#BADA55',width:width,height:height}}/>          <View style={{backgroundColor:'red',width:width,height:height}}/>          <View style={{backgroundColor:'blue',width:width,height:height}}/>      </Carousel>    );  }});AppRegistry.registerComponent('carouselTest', () => carouselTest);

如果你知道其他 React Native 插件,在評論與大家分享一下吧~

相關焦點

  • ReactNative學習資源大匯集
    /tcomb-form-nativeReact Native分享記錄 https://segmentfault.com/a/1190000002678782React Native構建本地視圖組件 https://www.dobest.me/article/11react-native-android-lession(安卓系列教程) https://github.com
  • 用JavaScript開發移動原生應用,Facebook正式開源React Native!
    同時還為React Native開發了一款基於Atom的IDE——Nuclide,也已開源。var React = require('react-native'); var { TabBarIOS, NavigatorIOS } = React; var App = React.createClass({ render: function
  • 從零到一:用ReactNative開發的第一個跨平臺app
    ": "16.0.0-alpha.6","react-native": "0.44.2","react-native-camera": "^0.6.0",(掃碼)"react-native-deprecated-custom-components": "^0.1.0","react-native-easy-toast": "^1.0.6",
  • ReactNative 的組件架構設計
    【編者按】本篇作者 @cnsnake11,寫的是 react native 的架構設計,如果你用 react
  • 推薦幾個 React Native UI 庫
    所以今天推薦幾個 RN 開發者必備的 UI 庫。React Native Elements如果你是一個獨立開發者的話,那麼這個庫可以幫你節省掉不少設計和實現一些炫酷的交互 UI 的時間了。它不但包含多種多樣的組件,而且有開發者在不斷的維護,並且圍繞這個庫形成了自己的開發者社區。
  • 最火移動端跨平臺方案盤點:React Native、weex、Flutter
    本篇主要以react-native、weex、flutter,深入聊聊當前最火的這3種跨平臺移動開發方案的實現原理、現狀與未來。至於為什麼只講它們,因為對比ionic、phoneGap,它們更於 「naive」 ( )。看完本篇,相信你會對於當下跨平臺移動開發的現狀、實現原理、框架的選擇等有更深入的理解。
  • 前端開源實戰項目推薦
    點擊上方藍色字體,選擇「標星公眾號」優質文章,第一時間送達  作者 |  AlanShan來源 |  urlify.cn/B3qii266套java從入門到精通實戰課程分享前言這段時間一直有學員和一些正在從事前端開發工作的朋友詢問「有沒有推薦的前端開源項目
  • React-Native學習指南
    同時還有Awesome React-Native系列https://github.com/jondot/awesome-react-native教程React Native深入淺出系列教程React.js
  • 2020年5個最佳Vue移動端組件庫|UI框架
    小夥伴們平時開發vue,react或是angular項目,都喜歡使用的什麼UI組件庫呢?今天,就來盤點下,幾個熱門優質的Vue.js移動端UI組件庫。1、Mint UI餓了麼開源的移動端UI組件庫,基於vue.js的移動端UI框架,包含豐富的 CSS 和 JS 組件,能夠滿足日常的移動端開發需求。
  • 十大最受歡迎的 React Native 應用開發編輯器
    而在隨後從事 React Native 開發工作過程中,對相應的編輯器做了一些探索和研究,本文總結了一些非常適合移動應用開發的編輯器和 IDE。1.Atom 常用的包atom-react-native-autocomplete package - 該包針對 React-Native,為 Atom 編輯器提供自動補全功能。atom-react-native-css - 這是一個內置支持 SASS、SCSS 的 React-Native 組件的包。
  • React Native 已死?
    )Part 2:React Native at Airbnb: The Technology(https://medium.com/airbnb-engineering/react-native-at-airbnb-the-technology-dafd0b43838)Part
  • Vant - 有贊出品的移動UI組件庫
    Vant 是贊前端團隊維護的移動端組件庫,提供了一整套 UI 基礎組件和業務組件。介紹輕量、可靠的移動端 Vue 組件庫,採用 MIT 開源協議, 目前github star 數9k+,是有贊的一套開源組件庫。通過 Vant,可以快速搭建出風格統一的頁面,提升開發效率。目前已有近 60+ 個組件,這些組件被廣泛使用於有贊的各個移動端業務中。
  • React Native實戰:配置和起步
    Facebook開源React Native也勢要統一移動端程式語言,而其提前發布React Native for Android更是引得國內外開發者一眾熱捧
  • 如何用 React Native 開發一款電商 App?
    編者按:React Native愈發火爆,如果你尚未接觸過,不如看看本文作者的入門指南,他會帶你體驗基於RN平臺開發一款電子商務搜索類App的奇妙旅程!本文編譯自Hackernoon,原文標題為:Building an e-commerce search app with react native,推薦有一定編程基礎的讀者閱讀。
  • 使用React Native Testing庫進行組件測試(案例詳解)
    為此,我們需要在項目終端中運行以下命令:npm install --save-dev @testing-library/react-native該庫有一個react-test-renderer的peerDependencies列表。對於測試人員,我們將在這裡使用 jest。
  • Facebook 發布 React Native for Android
    Facebook 今天發布了 React Native for Android,把 Web 和原生平臺的 JavaScript 開發技術擴展到了 Google 的流行移動平臺React Native 支持標準平臺組件的使用,比如 iOS 的 UITabBar 和 Anroid 的 Drawer 組件,因此可以提供跨平臺生態系統的統一外觀和感覺。這些平臺組件可以使用 React 組件接口集成到一個應用,比如 TabBarIOS 和 DrawerLayoutAndroid。
  • 給所有開發者的React Native詳細入門指南
    1)首先是如何引入或刪除一個node模塊2)幾個常用框架tab類react-native-tab-navigator(使用簡單https://github.com/exponent/react-native-tab-navigator)更適合作為底部的tab,使用方式也超級簡單react-native-scrollable-tab-view
  • 怎麼理解React Native的新架構?
    TuborModule:新的原生 API 架構,替換了原有的 Java module 架構,數據結構上除了支持基礎類型外,開始支持 JSI 對象,讓前端和客戶端的 API 形成一對一的調用社區化:在不斷迭代中,Facebook 團隊發現,開源社區提供的組件和 API 越來越多,而且很多組件設計和架構上比 React Native 要好,而且官方組件因為資源問題,投入度並不夠
  • 3月份Github上最熱門的JavaScript開源項目
    https://github.com/facebook/react Star 166181React是Facebook開發的用於構建用戶界面的JavaScript庫,現已為很多公司所用,因為它採用了一種不同的方式來構建應用:藉助於React,開發者可以將應用分解為彼此解耦的獨立組件,這樣就可以獨立維護并迭代各種組件了。
  • 基礎篇章:關於 React Native 之 Switch 和 ProgressBarAndroid 組件的講解
    ,分別是 Switch 和 ProgressBarAndroid 組件,由於非常簡單,所以這兩個控制項的講解就直接用一篇文章就夠了。Switch組件今天我們來講Switch組件,什麼是Switch組件呢?我感覺大家都是做過移動開發的,應該知道是做什麼用的。顧名思義:開關,控制組件。在使用它時,我們必須使用onValueChange回調來更新value屬性以響應用戶的動作。如果不更新value屬性,組件只會按一開始給定的value值來渲染且保持不變,看上去就像完全不動。