RN开发(一):准备

说明

本文是作者 Lefe 所创,转载请注明出处,如果你在阅读的时候发现问题欢迎一起讨论。本文会不断更新。

React Native相信大家都不陌生,多多少少会听到它的传闻。最近由于公司在做电商项目,遇到很多需要及时处理的问题,比如某个商品需要打折,某个商品需要促销,对于那些多变的界面,使用H5做,用户体验比较差。为了满足这一需求,来研究下RN。 React Native 中文网

环境搭建

这个比较简单,由于以前学习Node很多环境配置过,在配置RN的时候没有花费太多的时间。不过遇到一个问题就是在执行 react-native init AwesomeProject的时候如果你没有更改NPM源的话,它会一直卡着,所以建议更换NPM源,淘宝源.

基础

学习RN的时候,其实直接看 官方文档 比较靠谱,这样会让你少走一些弯路,以免被别人带到别处,如果看不懂英文,没关系这里还有 中文版 。基础部分主要建设了一下几部分:

  • Prpos(属性):可以给组件添加自定义的属性,当然也可以使用组件自带的属性
import React, { Component } from 'react';
import { 
  AppRegistry,  
  View, 
  Image, 
  Text,
  StyleSheet
} from 'react-native';

class Greeting extends Component {
  render() {
    return (
      // 使用 this.props 获取属性的组件的属性
      <Text> Name: {this.props.name}, address: {this.props.address}!</Text>
      );
  }
}

class ImageComponent extends Component {

  render() {
    let pic = {
      url: 'http://www.7xsm.net/upload/img/59/5977EE1CE18AB4CCAF6A616A50147B03.jpg'
    };

    return (
      // source style 为Image自带的属性
      <Image source = {pic} style = {{width: 300, height: 300}} />
    );
  }
}

class AwesomeProject extends Component {
  render() {
    return (
    <View style={{alignItems: 'center', marginTop: 64}}>
     <Greeting name = 'WSY' address = 'BeiJing'/>
     <Greeting name = 'Lefe' address = 'XingHe'/>
     <Greeting name = 'BX' address = 'HuShi'/>
     <ImageComponent />
    </View>
    );
  }
}

AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);
  • State(状态):
import React, { Component } from 'react';
import { 
  AppRegistry,  
  View, 
  Text,
  StyleSheet
} from 'react-native';

class Blink extends Component {
  constructor(props) {
    super(props);
    this.state = {showText: true};

    setInterval( () => {
      this.setState({showText: !this.state.showText});
    }, 1000);
  }

  render() {
    let display = this.state.showText ? this.props.text : ' ';

    return (
      <Text>{display}</Text>
    );
  }
}

class AwesomeProject extends Component {
  render() {
    return(
    <View style={{marginTop: 64}}>
      <Blink text = 'I am lefe, an iOS developer. Welocome to React Native' />
    </View>
    );
  }
}


AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);

  • Height and Width(宽、高):flex动态缩放
  • Styles(样式表): 添加多个样式表的时候使用[]
import React, { Component } from 'react';
import {
  AppRegistry, 
  StyleSheet, 
  Text,
  View
} from 'react-native';

const styles = StyleSheet.create({
  bigblue: {
    color: 'blue',
    fontWeight: 'bold',
    fontSize: 30,
  },
  size: {
    width: 300,
    height: 400
  },
  flexStyle: {
    flex: 1
  }
});

class AwesomeProject extends Component {
  render(){
    return (
      <View style={styles.flexStyle}>
        <Text style={styles.bigblue}>I am lefe, an iOS developer</Text>
        <Text style={[styles.bigblue, styles.size]}>I am lefe, an iOS developer</Text>
      </View>
    );
  };
}


AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);

  • Layout with Flexbox:
  • Handing Text Input:
  • Using a ScrollView:
  • Using a ListView:
  • Networking:
  • Using navigators:

===== 我是有底线的 ======
喜欢我的文章,欢迎关注我的新浪微博 Lefe_x,我会不定期的分享一些开发技巧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,045评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,114评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,120评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,902评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,828评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,132评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,590评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,258评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,408评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,335评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,385评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,068评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,660评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,747评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,967评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,406评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,970评论 2 341

推荐阅读更多精彩内容