React常用语法测试

作者: 一亩水塘 | 来源:发表于2016-06-27 16:39 被阅读174次

    测试ES6语法的小例子

    'use strict';
    
    
    
    import React, {
    
      StyleSheet,
    
      Text,
    
      View,
    
      TextInput,
    
      TouchableHighlight,
    
      Platform,
    
      Component
    
    } from 'react-native';
    
    
    
    class ECMAScript6Sample extends React.Component {
    
    
    
      constructor(props){
    
        super(props);
    
        this.state = {
    
          name : '初始值' ,
    
        };
    
      }
    
    
    
      render() {
    
        return (<View style = {styles.container}>
    
                  <ConsoleView name = {this.state.name}></ConsoleView>
    
                  <View style = {styles.btnContainer}>
    
                    <TouchableHighlight style = {styles.button} underlayColor = {'#00FF00'} onPress = {() => this.test001()}>
    
                      <Text style = {styles.text} >循环</Text>
    
                    </TouchableHighlight>
    
                    <TouchableHighlight style = {styles.button} underlayColor = {'#00FF00'} onPress = {() => this.test002(2,3,4)}>
    
                      <Text style = {styles.text} >函数rest参数</Text>
    
                    </TouchableHighlight>
    
                    <TouchableHighlight style = {styles.button} underlayColor = {'#00FF00'} onPress = {() => this.test003(2,3,4)}>
    
                      <Text style = {styles.text} >动态字符串</Text>
    
                    </TouchableHighlight>
    
                  </View>
    
                </View>
    
              );
    
      }
    
    
    
      /*
    
    * ES6引入了for ... of循环作为遍历所有数据结构的统一方法。一个数据结构只要部署了Symbol.iterator属性,就被视为具有Iterator接口,就可以用for
    
      *  ... of 循环遍历它的成员。
    
      */
    
      test001(){
    
        const arr = ['red' , 'green' ,'blue'];
    
        let str = '';
    
        for(let v of arr){
    
          str += v;
    
        }
    
        this.log(str);
    
      }
    
    
    
      /**
    
      * ES6引入了rest参数(形式为"... 变量名")
    
      */
    
      test002(...values){
    
        let sum = 0 ;
    
        for(var v of values){
    
          sum += v;
    
        }
    
        this.log(sum);
    
      }
    
    
    
      /**
    
      * 测试动态字符串
    
      */
    
      test003(...values){
    
        let sum = 0 ;
    
        for(var v of values){
    
          sum += v;
    
        }
    
        this.log(`test(...values){
    
          let sum = 0 ;
    
          for(var v of values){
    
            sum += v;
    
          }
    
          console.log(sum);
    
        }
    
        sum = ${sum}`);
    
      }
    
    
    
    
    
      /**
    
      * 重置状态导致页面重新渲染
    
      */
    
      log(str : string){
    
        this.setState({name : str});
    
      }
    
    }
    
    
    
    class ConsoleView extends React.Component{
    
      render(){
    
         return(
    
           <View style = {styles.consoleContainer}>
    
              <Text>{this.props.name}</Text>
    
           </View>
    
         );
    
      }
    
    }
    
    
    
    
    
    var styles = StyleSheet.create({
    
      container: {
    
        flex: 1,
    
        alignItems: 'stretch',
    
        backgroundColor: '#FFFFFF',
    
        marginTop : 64 ,
    
      },
    
      btnContainer: {
    
        flex : 1 ,
    
        backgroundColor : '#FFFFFF' ,
    
        padding : 10 ,
    
      },
    
      consoleContainer :{
    
        height : 200 ,
    
        backgroundColor : '#F0F0F0' ,
    
        padding : 10 ,
    
        margin : 10 ,
    
        borderWidth : 2 ,
    
        borderColor : 'blue' ,
    
        borderRadius : 10 ,
    
      },
    
      button : {
    
        height : 50 ,
    
        backgroundColor : '#2438d2',
    
        borderRadius : 6 ,
    
        alignItems : 'center' ,
    
        marginBottom : 10 ,
    
        justifyContent : 'center' ,
    
      },
    
      text : {
    
        color : 'white',
    
        fontSize : 16 ,
    
      },
    
    
    
    })
    
    
    
    module.exports = ECMAScript6Sample;
    

    相关文章

      网友评论

        本文标题:React常用语法测试

        本文链接:https://www.haomeiwen.com/subject/rxwzdttx.html