版权声明:如要转发,请注明出处,小小喵的微博 https://blog.csdn.net/weixin_42881744/article/details/84566313
state(状态)对于需要改变的数据,我们需要使用state。
使用方法:一般来说,我们需要在 constructor 中初始化state,然后在需要修改时调用setState方法。
import React, { Component } from 'react';
import { Text, View } from 'react-native';
export default class Demo extends Component {
constructor(props) {
super(props);
this.state = {
number: 1
};
}
onChangeNumber(){
this.setState(
prev => ({
number: prev + 1
}),
() => {
//值已经改变
console.log(this.state.number);
}
);
}
render() {
return (
<View>
<Text onClick={this.onChangeNumber}>click</Text>
<Text>{this.props.text}</Text>
</View>
);
}
}
每次调用setState时,Demo 都会重新执行 render 方法重新渲染。
译注:提示一些初学者应该牢记的要点:
一切界面变化都是状态state变化
state的修改必须通过setState()方法
this.state.likes = 100; // 这样的直接赋值修改无效!
setState 是一个 merge 合并操作,只修改指定属性,不影响其他属性
setState 是异步操作,修改不会马上生效