reactNative小demo讲解 对比iOS

我们通过http://reactnative.cn(reactNative中文网)安装reachNative环境,创建xcode工程。

结构分析

 1.引入相关的类 

import React, {
  AppRegistry,
  Component,
  StyleSheet,
  Text,
  View,
  TouchableOpacity,
} from 'react-native';
对比iOS的

#import "AppDelegate.h"

2.类的主题

class AwesomeProject extends Component {

}

对比iOS的

@implementation 

@end

3.界面渲染方法

render() {}
对比iOS的

-(void)viewDidLoad{}

4.自定义方法

customPressHandler = () =>
{
//自定义方法,使用属性来定义
  alert('你按下了按钮,当前的状态是'+this.state.states);

};
对比iOS的,自己封装的方法,不做举例了

5.构造方法

//构造
constructor(props)
{
  super(props);
//  初始状态
  this.state = {states:1};

}

对比iOS的,初始化方法执行在render()之前

6.调用 这个类

AppRegistry.registerComponent('AwesomeProject', () => AwesomeProject);
对比iOS的,

int main(int argc, char * argv[]) {

  @autoreleasepool {

    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

  }

}

7.样式

const styles = StyleSheet.create({})
对比ios的,所有改变控件颜色,大小,字体,等UI方法

8可以封装一些控件例如button
代码示例

/**
 * 郝建明 20160329
 */

import React, {
    StyleSheet,
    Component ,
    Text,
    View,
    TouchableOpacity
} from 'react-native';

 export default class Button extends Component {
    //构造
    constructor(props)
    {
        super(props);
        //  初始状态
        this.state= {
            disabled:false,

        };

    }
    customPressHandler = () =>
{
// const {dianjishijian} = this.props;
//     dianjishijian();
        this.disable();
        const {onPress} =this.props;
        onPress(this.enable);
}
     enable = () =>
     {
         this.setState({
         disabled:false,
         })
     }
     disable = () =>
     {
         this.setState({
             disabled:true,
         })
     }

render() {
    //解构 一次取出多个属性
    const {text,beijingse } =this.props;
    //基本等于
    // const text = this.props.text;
    return (
        <View style={styles.container}>

    <TouchableOpacity
        disabled = {this.state.disabled}
        style = {[styles.button,{backgroundColor:beijingse} ,this.state.disabled && styles.disabled]}
     onPress = {this.customPressHandler}
>
<Text
    style={styles.buttonText}
>{this.props.text}</Text>
    </TouchableOpacity>
    </View>
);
}
}

const styles = StyleSheet.create({
    button:
    {
        //   按钮的高度
        height:40,
        //按钮的宽度
        width:100,
        //按钮的圆角
        borderRadius:20,
        //按钮的背景颜色
        backgroundColor:'green',
        justifyContent:'center',
        overflow:'hidden'
    },
    buttonText:{

        textAlign:'center',
        color:'white'
    },
    disabled:
    {
        backgroundColor:'gray'
    }
});
上述对比只是我作为初学者的感觉。类比的有错误的请多多指教,谢谢!
时间: 2024-09-17 03:40:13

reactNative小demo讲解 对比iOS的相关文章

ps配色的9个小方案讲解

  配色是每位设计师必备的技能, 但很多人在拿到工作任务的时候, 都不知道用什么配色会比较好, 今天给大分享的9个配色小方案讲解. 明亮而鲜艳的搭配总能让人产生眼前一亮的感觉,这个搭配就是如此,粉色的纯度较高,已经接近于洋红了,这里的蓝色也十分接近于湖蓝,这样的配色已经很类似于原色搭配了,出来的效果也十分类似,可以从这个搭配中一睹原色搭配的特性. 明亮而鲜艳的搭配总能让人产生眼前一亮的感觉,这个搭配就是如此,粉色的纯度较高,已经接近于洋红了,这里的蓝色也十分接近于湖蓝,这样的配色已经很类似于原色

基于BaseAdapter的Listview小Demo

ListView是Android开发中比较常用的控件, 其中适配器模式可以选择: ArrayAdapter:简单易用,通常用于将数组或者List集合的读个包值封装成多个列表项 SimpleAdapter:其实功能很强大将数组或者List集合的读个包值封装成多个列表项 SimpleCursorAdapter:与SimpleAdapter基本类似只是用于包装Cursor提供的数据 BaseAdapter:通常用于被扩展,扩展BaseAdapter可以对各列表项进行最大的定制 而且ListView组件

ofbiz做一个小demo,配置好了之后,在页面上跑。报404错误,请问该怎么解决

问题描述 ofbiz做一个小demo,配置好了之后,在页面上跑.报404错误,请问该怎么解决 ofbiz做一个小demo,配置好了之后,在页面上跑.报404错误 求大神指点

thrift的小demo谁能帮我写一个java和java传值就好

问题描述 thrift的小demo谁能帮我写一个java和java传值就好 thrift的小demo谁能帮我写一个java和java传值就好最好推荐几个文档谢谢 解决方案 谢谢你们了求助 啊 在不在 啊 解决方案二: qq 420914273我帮你写吧,大家都学生一起 帮忙

html5掷骰子的小demo

原文 html5掷骰子的小demo 代码如下: 1 <!DOCTYPE> 2 <html> 3 <title>柯乐义</title> 4 <head> 5 <script> 6 var leftX = 150; 7 var topY = 100; 8 var diceX = 80; 9 var diceY = 80; 10 var dotR = 4; 11 var count = 0; 12 var lastNum = 0; 13 v

spring-struts2+mybatis+sprin一个小demo总是不能实例化

问题描述 struts2+mybatis+sprin一个小demo总是不能实例化 public class RegisterAction { private RegisterDao registerDao; private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this

求一个用于图片缩小消失小demo

问题描述 求一个用于图片缩小消失小demo 需求是:不管我点击屏幕的哪里除下imageview上图片都要缩小消失 解决方案 那就先弄个控件占满整个屏幕,然后监听点击事件,然后在里面调用函数让这个imageview消失 解决方案二: 网页还是什么?网页 document.onclick=function(){document.getElementById('imageview').style.display='none'}

Jsoup小Demo

Jsoup小Demo public class JsoupUtil { public void parseWangYi() { Document doc = null; try { //eg1:解析百度音乐 doc = Jsoup.connect("http://list.mp3.baidu.com/top/singer/A.html").get(); Element singerListDiv = doc.getElementsByAttributeValue("class

对比iOS网络组件:AFNetworking VS ASIHTTPRequest

在开发iOS应用过程中,如何高效的与服务端API进行数据交换,是一个常见问题.一般开发者都会选择一个第三方的网络组件作为服务,以提高开发效率和稳定性.这些组件把复杂的网络底层操作封装成友好的类和方法,并且加入异常处理等. 那么,大家最常用的组件是什么?这些组件是如何提升开发效率和稳定性的?哪一款组件适合自己,是 AFNetworking(AFN)还是 ASIHTTPRequest(ASI)?几乎每一个iOS互联网应用开发者都会面对这样的选择题,要从这两个最常用的组件里选出一个好的还真不是那么容易