react绑定数据和修改数据

本文详细介绍了React中组件的状态管理和事件处理方法,包括如何定义状态、获取和更新状态,以及不同方式改变this指向来确保方法能正确访问组件状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import React,{Component} from 'react';

class Hello extends Component{

    constructor(props){

      super(props);

      //react可以在这里定义数据

    this.state={

        msg:"我是一个hello组件",

        message:"我是message",

        username:"ligengxian"

    }

 

     //第二种改变this指向的方法,先在开始运行的时候就给他初始化

     this.getMessage=this.getMessage.bind(this);

 

          

    }

    //这里可以定义一些方法,跟render平级

    run(){

        alert("我是一个run方法")

    }

    getData(){

        //用了这个this.getData.bind(this)就可以这样子写

        alert(this.state.msg)

 

    }

    getMessage(){

        alert(this.state.message)

    }

//获取state里面的值的三种方法,这个是第三种,用的最多的一种方法

//改变this指向的方法

     getName=()=>{

        alert(this.state.username)

     }

 

//------------------------------------

//改变state里面的值

   setData=()=>{

   //改变state的值

   this.setState({

       msg:"我是一个home组件,这是改变后的值"

 

   })

   }

   setMessage=(str)=>{

    //改变state的值

    this.setState({

        username:str

 

    })

    }

    render(){

        return (

        <div>

          <h2>{this.state.msg}</h2>

          <br/>

          <h2>{this.state.username}</h2>

          <button onClick={this.run}>执行方法</button>

          <br/>

          

          //获取数据的方法

          <button onClick={this.getData.bind(this)}>获取数据第一种执行方法,改变this指向的方法</button>

          //第二种获取数据的方法

          <button onClick={this.getMessage}>获取数据第二种执行方法,改变this指向的方法</button>

 

          //第三种获取数据的方法

          <button onClick={this.getName}>获取数据第三种执行方法,改变this指向的方法</button>

          <br/>

          <button onClick={this.setData}>改变State的值</button>

          <br/>

          <button onClick={this.setMessage.bind(this,"张三")}>执行方法传值</button>

          //传入多个参数

          <button onClick={this.setMessage.bind(this,"张三",'李四')}>执行方法传值</button>

        </div>

     

        )

    }

}

export default Hello;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值