[React Native] State and Touch Events

In React, components manage their own state. In this lesson, we‘ll walk through building a component which manages it‘s own state as well as using TextInput and TouchableHighlight to handle touch events.

import React, { Component, PropTypes } from ‘react‘;
import { View, Text, StyleSheet, TextInput, TouchableHighlight, ActivityIndicatorIOS } from ‘react-native‘;

var style = StyleSheet.create({
    mainContainer: {
        flex: 1,
        padding: 30,
        marginTop: 65,
        flexDirection: ‘column‘,
        justifyContent: ‘center‘,
        backgroundColor: ‘#48BBEC‘
    },
    title: {
        marginBottom: 20,
        fontSize: 25,
        textAlign: ‘center‘,
        color: ‘#fff‘
    },
    searchInput: {
        height: 50,
        padding: 4,
        marginRight: 5,
        fontSize: 23,
        borderWidth: 1,
        borderColor: ‘white‘,
        borderRadius: 8,
        color: ‘white‘
    },
    buttonText: {
        fontSize: 18,
        color: ‘#111‘,
        alignSelf: ‘center‘
    },
    button: {
        height: 45,
        flexDirection: ‘row‘,
        backgroundColor:‘white‘,
        borderColor:‘white‘,
        borderWidth:1,
        borderRadius:8,
        marginBottom:10,
        alignSelf:‘stretch‘,
        justifyContent:‘center‘
    }
});

export default class Main extends Component{
    constructor(props){
        super(props)
        this.state = {
          username: ‘‘,
          isLoading: false,
          error: false
        };
    }
    handleChange(event){
        this.setState({
            username: event.nativeEvent.text
        })
    }
    handleSubmit(event){
        //update our indicatorIOS spinner
        this.setState({
            isLoading: true
        });
        console.log(‘submit‘, this.state.username);
        //fetch data from github
        //reroute to the next passing that github informaiton
    }
    render(){
       return (
           <View style={style.mainContainer}>
               <Text style={style.title}>Search for a Github User</Text>
               <TextInput
                 style={style.searchInput}
                 value={this.state.username}
                 onChange={this.handleChange.bind(this)}
               />
               <TouchableHighlight
                style={style.button}
                onPress={this.handleSubmit.bind(this)}
                underlayColor="white"
               >
                   <Text style={style.buttonText}>SEARCH USER</Text>
               </TouchableHighlight>
           </View>
       )
    }
}

<TextInput
                 style={style.searchInput}
                 value={this.state.username}
                 onChange={this.handleChange.bind(this)}
               />

Search box, once value changed, set current username state.

<TouchableHighlight
      style={style.button}
      onPress={this.handleSubmit.bind(this)}
      underlayColor="white"
>

Search button, a touch button, so not onClick event but onPress event.

underlayColor: When touch, change background color to white color.

时间: 2024-10-05 12:58:07

[React Native] State and Touch Events的相关文章

混合开发的大趋势之一React Native State (状态),Style(样式)

转载请注明出处:王亟亟的大牛之路 先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android 今天又加了几个疑难杂症哦!! 上一篇讲了属性,这一篇主要讲 State Style,给出上次的传送门,以便有更好的连贯性:http://blog.csdn.net/ddwhan0123/article/details/52238478 State 状态 在RN中用来描述对象的除了属性Props还有状态State,那么状态又是个什么东西呢? T

React Native props &amp; state

今天又敲了一丁点代码,看了一下props和state的用法 原本以为state只是一个状态,但是又阅读了一下原文,才知道state是一组状态,这些状态是开发者自己定义的,都统一在state这个大类底下,跟props一样都是 this.props.propertyName this.state.stateName 这种形式,props和state是控制组件的两种类型,props是开发者自定义的组件参数,state表达的是一种状态用于控制组件的内容 /** * Sample React Native

React Native 快速入门之认识Props和State

眼下React Native(以后简称RN)越来越火,我也要投入到学习当中.对于一个前端来说,还是有些难度.因为本人觉得这是一个App开发的领域,自然是不同.编写本文的时候,RN的版本为0.21.0.我们马上以代码进入今天的学习. 'use strict'; import React, { AppRegistry, Component, StyleSheet, Text, View } from 'react-native'; class Hello extends Component { re

React Native入门(三)组件的Props(属性)和State(状态)

相关文章 React Native入门系列 前言 在Android或者iOS开发中我们会用到很多控件,这些控件会有很多的属性.样式等等.同样的,React Native中的组件也有属性.样式和状态. 1.Props(属性) 组件创建时会设置一些参数来定制这个组件,这些参数就是属性,属性一旦设定,在组件的生命周期中就不会改变.下面拿Image的source属性和Text的onPress属性作为举例. Image的source属性 import React, {Component} from 're

(一)创建新的react native 应用程序

最近开始学习ReactNative了,首先了解下ReactNative React Native 官网首页介绍 React Native 使你能够使用基于 JavaScript 和 React 一致的开发体验在本地平台上构建世界一流的应用程序体验.React Native 把重点放在所有开发人员关心的平台的开发效率上——开发者只需学习一种语言就能轻易为任何平台高效地编写代码.Facebook 在多个应用程序产品中使用了 React Native,并将继续为 React Native 投资. Re

React Native:使用 JavaScript 构建原生应用 详细剖析

数月前,Facebook 对外宣布了正在开发的 React Native 框架,这个框架允许你使用 JavaScript 开发原生的 iOS 应用——就在今天,Beta 版的仓库释出了! 基于 PhoneGap 使用 JavaScript 和 HTML5 开发 iOS 应用已经有好几年了,那 React Native 有什么牛的? React Native 真的很牛,让大家兴奋异常的主要原因有两点: 可以基于 React Native使用 JavaScript 编写应用逻辑,UI 则可以保持全是

【REACT NATIVE 系列教程之十二】REACT NATIVE(JS/ES)与IOS(OBJECT-C)交互通信

一用到跨平台的引擎必然要有引擎与各平台原生进行交互通信的需要.那么Himi先讲解React Native与iOS之间的通信交互. 本篇主要分为两部分讲解:(关于其中讲解的OC语法等不介绍,不懂的请自行学习) 1. React Native 访问iOS 2. iOS访问React Native     一:React Native 访问iOS 1. 我们想要JS调用OC函数,就要实现一个"RCTBridgeModule"协议的Objective-C类 所以首先我们先创建一个oc新类,  

慢牛系列三:React Native实践

上次发布了我的慢牛股票APP之后,有园友反馈有点卡,这个APP是基于Sencha Touch + Cordova开发的,Sencha本身是一个比较重的框架,在Chrome里运行性能还是不错的,但是在Android的WebView里,性能受限于机器的配置,在我的小米2s里表现还行,在小米4s里开起来比较流畅,但是Android机型相比IOS太多样了,Sencha Touch在iOS里表现不错,不过我还没编译iOS版本. 后来我又试着用了下Ionic框架,基于AngularJs开发,这个框架要轻量,

用React Native编写跨平台APP

用React Native编写跨平台APP React Native 是一个编写iOS与Android平台实时.原生组件渲染的应用程序的框架.它基于React,Facebook的JavaScript的库,为的是构建用户接口,而并不是以浏览器为目标,它是以手机平台为目的. 换句话说,假设你是一个web开发人员,你能够使用React Native去编写干净.高速的移动APP,而且能够体会到熟悉的框架和单个的JavaScript的代码库. 在这之前,我们已经听到用诸如Cordova或者是Titaniu