Die Class-Klasse in React löst dieses Zeigeproblem

Der Code lautet wie folgt (Beispiel):

import { Component } from "react";
import './App.css'

//解决this指向问题
class App extends Component{
    constructor(props){
        super(props)
        console.log(props);
        this.state={
            name:'张三'
        }

        //第一种
        this.dian1=this.dian1.bind(this)
        
    }
    dian1(){
        console.log(this);
        this.setState({
            name:'李四'
        })
    }

    //第二种
    dian2=()=>{
        console.log(this);
        this.setState({
            name:'王五'
        })
    }

    render(){
        return <div>
            <h1>{this.state.name}</h1>
            <button onClick={this.dian1}> 获取1 </button>
            <button onClick={this.dian2}> 获取2 </button>

            {/* 第三种 */}
            <button onClick={()=>this.setState({name:"赵六"})}> 获取3 </button>
        </div>
    }

}
export default App

Supongo que te gusta

Origin blog.csdn.net/VXYupq/article/details/130008005
Recomendado
Clasificación