使用react-native开发,如果只用一个组件写的话,当你使用this.setState更新数据后,会导致整个组件或者说整个屏幕闪烁,特别是图片多的时候,更加明显。这种是很耗性能的。
解决方案:
分成多个组件,在子组件内部使用this.setState
export default class Main extends Component {
constructor(props) {
super(props);
this.state = {
data:''
}
}
render(){
return(
<Children />
)
}
}
class Children extends Component {
constructor(props) {
super(props);
this.state = {
data:''
}
}
change(){
this.setState({
data:'改变'
})
}
render(){
return(
<TouchableOpacity onPress={()=>{this.change()}}>
<Text>我是子组件,我要改变自己的状态</Text>
</TouchableOpacity>
)
}
}