React Native RN state props

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博客

猜你喜欢

转载自blog.csdn.net/linzhiji/article/details/131903098