(
問渠那得清如許先壕,為有源頭活水來。
雙手奉上RN官網(wǎng))
一般來說,你應該在構造方法中初始化state,當你想要改變state時調(diào)用setState來改變.
例如:讓文字不停的閃爍效果
import React, { Component } from 'react';
import { AppRegistry, Text, View } from 'react-native';
//閃爍組件
class Blink extends Component {
//構造方法
constructor(props) {
//調(diào)用父類構造方法
super(props);
//初始化state
this.state = {showText: true};
//設置定時器1秒重設state. Toggle the state every second
setInterval(() => {
this.setState({ showText: !this.state.showText });
}, 1000);
}
render() {
//根據(jù)當前設置的是否顯示文本來切換文本顯示.實際上并不是隱藏文本,而是設置文本為空
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);