React Native開發的通訊錄應用

來源:互聯網
上載者:User

標籤:

React Native開發的通訊錄應用(使用JavaScript開發原生iOS應用,vczero)0、前言:   項目地址:https://github.com/vczero/React-Native-App 

  歡迎大家提issues討論任何問題,包括“試衣間”....

 一、項目介紹 基於React-Native & Node通訊錄App (1)主要完成的功能有: 
  • 基於檔案系統的Node.js服務端;
  • 通訊錄功能(分類頁 + 列表頁 + 撥號郵箱郵件)
  • 公告功能(列表頁 + 詳情頁)
  • 通訊錄和內容管理功能
  • webview內嵌執行個體 效果如所示:
        (2)安裝啟動程式 
(1)首先進入address_book目錄安裝node module;命令列:$ npm install (2)其次cd server,啟動node資料介面服務,命令列: $ node app.js(3)初次登入使用者名稱:[email protected]    密碼:123
 (3)Tip: 
(1)為了示範,代碼有些粗糙;     (2)服務端也不是很完善,為了方便快速搭建,使用的是基於node的檔案服務。(3)oschina會同步更新改項目:https://git.oschina.net/vczero/React-Native-App(4)相關入門教程:https://github.com/vczero/react-native-lession
 為了省點篇幅,將第七篇文章也附到下面吧: React-Native入門指南 第七篇動手寫組件 
React-Native的核心思想就是組件化,相當於MVC的view,因此開發應用的最佳方式就是將功能組件化。
 一、最簡單的方式 
這裡我們實現一個最簡單的組件,就是郵件的末尾署名的組件。組件意味著複用,意味著統一。現在有這樣一個需求,我們需要根據不同使用者發送郵件時,產生每個使用者的名片(即郵件末尾的署名)。1、一般一開始的實現方式如下,直接將組件內容寫到功能需求的地方:<View>    <View>..........這裡是當前郵件組的其它功能</View>    <View>        <Text>架構研發部</Text>        <Text>www.ctrip.com</Text>    </View></View>2、有一天,其它的部門的同事提出他們也需要在其他的地方,增加他們的郵件署名,那麼你是否又會複製一份代碼呢,當然不是,我們可以組件化:var Email = React.createClass({    render: function(){        return (            <View style={styles.container}>                <Text style={styles.text}>{this.props.name}</Text>                <Text style={styles.text}>{this.props.url}</Text>            </View>        );    }});3、整體的代碼如下:
 

 二、迴圈一個文章列表 
要實現的效果如:
 

 
第一步改造我們的組件var Article = React.createClass({    render: function(){        return (            <View style={styles.container}>                <Text style={[styles.text, styles.title]}>{this.props.title}</Text>                <Text style={styles.text}>{this.props.author}</Text>                <Text style={styles.text}>{this.props.time}</Text>            </View>        );    }});第二步定義資料model和迴圈var App = React.createClass({    getInitialState: function(){        var data = [        {            title: "React-Native入門指南",            author: "vczero",            time: "2015-06-28"        },        {            title: "為什麼世界不一樣",            author: "vczero",            time: "2015-06-8"        },        {            title: "你來,我就告訴你",            author: "vczero",            time: "2015-04-01"        }    ];    return {        articles: data    };},render: function(){    return(        <ScrollView>        {this.state.articles.map(function(article){        return <Article title={article.title} author={article.author} time={article.time}/>        })}    </ScrollView>    );    }});整個代碼如下:
 

  

React Native開發的通訊錄應用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.