React Native -- 登录页面

React Native -- 登录页面_第1张图片
96493823-9A5E-4ED2-B2FD-573EFDD6C481.png

新手入坑RN,多动手才是王道,把 React Native 中文网的入门基础知识看完:

React Native -- 登录页面_第2张图片
DFED8E50-4332-49DA-B944-C0918D6267CD.png

有中文的时候,人就会变懒的感觉,还是要多看官网的,依赖中文是一种病,看来得治下。虽然看完了,但还是一脸懵逼的,所以决定来写一个登录界面来熟悉下RN的写法。这里就基于上篇引导页的工程来写,有兴趣的也可以过去看下,先看整体工程结构:

React Native -- 登录页面_第3张图片
E8FD7357-E523-46CD-A353-73F41ABA98DC.png

新手级别内容,直接上代码了,login.js 内容:

'use strict';
import React, {Component} from 'react';
import { View, Text, TextInput, StyleSheet, Image, PixelRatio, } from 'react-native';
import Button from '../component/Button';

export default class extends Component {
  constructor(props) {
    super(props);
    this.state = {
      username: '',
      password: '',
    };
  }
  render() {
    return (
      
        
          
             this.setState({text})}
              />
          
          
            
               this.setState({password})}
              />
            
            
              

这里需要提供 username 和 password 两个变量来保存下用户名和密码,其它的目测真的没有什么好说的了。看不懂的就只能先去看下文档再回头看了~~

_handleClick() {
    console.log('username:' + this.state.text);
    console.log('password:' + this.state.password);
 }

这里是点击事件的调用方法,打印下用户名和密码的信息。

自定义 Button.js 内容:

'use strict';
import React, {Component, PropTypes} from 'react';
import { Text, View, StyleSheet, Platform, TouchableHighlight, TouchableNativeFeedback } from 'react-native';

export default class Button extends Component {
  render() {
    if (Platform.OS === 'android') {
      return(
        
          {this._renderContent()}
        
      );
    } else if (Platform.OS === 'ios') {
      return(
        
          {this._renderContent()}
        
      );
    }
  }

  _renderContent() {
    return(
      
          {this.props.text}
      
    );
  }

}

const styles = StyleSheet.create({
  text: {
    color: 'white',
    fontSize: 13,
  },
  content: {
    height: 45,
    backgroundColor: '#046ada',
    alignItems:'center',
    justifyContent:'center',
    borderRadius: 3
  },
});

这里通过Platform.OS来判断使用的系统,为iOS 和 Android 提供两个不同的button样式。

点击方法通过 this.props.onPress 引用过来。其他的就是样式了~~

新手入门RN的同学们,千万不想相信 react native 中文网推荐的东方耀的视频,买了vip入去,发现视频不更新,先不说视频质量怎么样,感觉照搬某课网的,这都可以忍,但天天推广one 点公益,也敢叫公益的公益。被骗得不要不要。

你可能感兴趣的:(React Native -- 登录页面)