React Native 之 State(状态)

我们使用两种数据来控制一个组件:Props+State。props在父组件中指定,一旦指定,在该组件的生命周期中不再改变。而对于需要改变的数据,我们通过state进行修改

constructor(构造器):初始化组件state值,返回值会赋给this.state属性。--- EC6写法

定时器

setTimeout (fn, 1000) 表示延迟1000毫秒后执行 fn 方法

setInterval (fn,1000)  表示每隔1000毫秒执行 fn 方法。

 requestAnimationFrame(fn) 在每帧刷新之后执行一次

setTimeout(fn, 0) 尽可能快的执行 

 

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

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

    // 每1000毫秒对showText状态做一次取反操作
    setInterval(() => {
      this.setState({ showText: !this.state.showText });
    }, 1000);
  }

  render() {
    // 根据当前showText的值决定是否显示text内容
    let display = this.state.showText ? this.props.text : ' ';
    return (
      <Text>{display}</Text>
    );
  }
}

 

class BlinkApp extends Component {
  render() {
    return (
      <View>
        <Blink text='I love to blink' />
        <Blink text='Yes blinking is so great' />
        <Blink text='Why did they ever take this out of HTML' />
        <Blink text='Look at me look at me look at me' />
      </View>
    );
  }
}

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

posted on 2016-09-29 15:47  马大哈哈  阅读(604)  评论(0编辑  收藏  举报

导航