state: 是RN 专门用来标识是否重新渲染,通过属性的值来更新数据,React 内部会监听 state 的变化,一旦发生变化就会主动触发组件的 render() 方法来更新 Dom 结构,另外state是组件私有的,是没有办法通过其他组件传递过来的。
import React, {Component} from 'react';
import { Text, View } from 'react-native';
export default class App extends Component {
state = {
myState: 'This is a text component, created using state data. It will change or updated on clicking it.'
}
updateState = () => this.setState({myState: 'The state is updated'})
render() {
return (
<View>
<Text onPress={this.updateState}> {this.state.myState} </Text>
</View>
);
}
}
this.setState({
buttonText: value,
selectedIndex: idx,
});
setState() 方法会把对组件 state 的改变加入到队列中,并且告诉 React 这个组件及其子组件需要重新渲染,React 并不能保证 setState() 一被调用 state 就能更新。所以,如果在调用 setState() 之后,马上就读取 this.state 的值的话,可能会出现误差,所以setState(updater, callback) 方法的第二个参数 callback 是一个可选参数,暂时未找到使用实例。
参考
ReactNative从零到完整项目-state使用详解 - 掘金
React-Native中的FlatList学习记录(二)之单个item刷新_flatlist 局部刷新_隔壁老何的博客-CSDN博客文章来源:https://www.toymoban.com/news/detail-606105.html
文章来源地址https://www.toymoban.com/news/detail-606105.html
到了这里,关于React Native RN state props的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!