ReactNative学习笔记3

原文地址,本文为原文的不完全翻译

状态

组件Component由两个部分控制它在屏幕上的展示凡是,分别是属性prop和状态State,而属性通常是跟随者组件的生命周期变化的,不能随意改动,如果我们想改变组件的一些显示方式,那么只能使用状态状态State了.
一般来说,在组件的构造方法里面初始化组件的状态,然后在你需要的地方通过setState改变组件的状态,从而达到你想要的效果.
下面的例子是通过改变控件的属性达到让文字进行闪烁的效果:

import React, { Component } from 'react';
import {AppRegistry, Text, View} from 'react-native';
class Blink extends Component {
  constructor(props){
    super(props);
    this.state = {showText: true};
    /*一秒闪烁一次*/
    setInterval(() => {
      this.setState({ showText : !this.state.showText });
    }, 1000);
  }
  
  render(){
    let displayText = this.state.showText ? this.props.text : ''
    return (<Text>{displayText}</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);

在真正的应用开发时,极少情况是通过定时器来改变组件的状态的,大多数情况是根据服务器返回的数据和用户的操作来改变,这时候可以使用Redux来控制组件的数据流.
在这个例子里面,每调用一次setState方法BlinkApp就会调用一次render()方法来重新渲染到屏幕上面,State每被改变一次,就会调用一次render()重新渲染,这就是State在React中的作用方式.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近看了一本关于学习方法论的书,强调了记笔记和坚持的重要性。这几天也刚好在学习React,所以我打算每天坚持一篇R...
    gaoer1938阅读 1,738评论 0 5
  • 本笔记基于React官方文档,当前React版本号为15.4.0。 1. 安装 1.1 尝试 开始之前可以先去co...
    Awey阅读 7,823评论 14 128
  • 原教程内容详见精益 React 学习指南,这只是我在学习过程中的一些阅读笔记,个人觉得该教程讲解深入浅出,比目前大...
    leonaxiong阅读 2,863评论 1 18
  • 安装: 概述 React起源于FaceBook的内部项目,因为该公司对市场上所有的JavaScript MVC框架...
    姒沝無痕阅读 746评论 0 0
  • ——Kurny 落叶纷飞 乱了心上人的眼 这凉夜 枝头挂满流年 便开了天使坠翼的季节 那无根的蝶 听凭宿命的承...
    Kurny91阅读 192评论 0 1