React Native setState赋值

版权声明:如要转发,请注明出处,小小喵的微博 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 是异步操作,修改不会马上生效

猜你喜欢

转载自blog.csdn.net/weixin_42881744/article/details/84566313