React基础语法05-改变this指向的3种方法

简介: React基础语法05-改变this指向的3种方法

使用this指向当前组件的三种方法:分别是在模板里,在构造函数里,在构造函数里改变,推荐第三种,箭头函数。

1:在模板里面:改变this指向的方法

定义的数据

this.state = {
msg:'我是王小婷定义的数据一号'
}

方法

getData(){
alert(this.state.msg);
}

模板

<button onClick={this.getData.bind(this)}>第一种获取数据的方法</button>

2:在构造函数里面: 指定

定义数据,构造函数

constructor() {
        super();
        //react定义数据
        this.state = {
            msg:'我是王小婷定义的数据OO'
        }
        //第二种改变this指向的方法
        this.getMsg=this.getMsg.bind(this);
    }

方法:

getMsg(){
alert(this.state.msg);
}

模板

<button onClick={this.getMsg}>第二种获取数据的方法</button>

3:在方法里面:使用箭头函数指向(推荐)

定义数据

//react定义数据
this.state = {
msg:'我是王小婷定义的数据OO'
}

方法:

getName=()=>{
alert(this.state.msg);
}

模板

<button onClick={this.getName}>第三种获取数据的方法</button>

参考代码:Home.js

import React, { Component } from 'react';
import photo from '../asset/images/photo.jpg';
import '../asset/css/index.css'
class Home extends Component {
    constructor() {
        super();
        //react定义数据
        this.state = {
            msg:'我是王小婷定义的数据OO'
        }
        //第二种改变this指向的方法--在构造函数里面: 指定
        this.getMsg=this.getMsg.bind(this);
    }
    run(){
        alert('我是王小婷定义的方法')
    }
    getData(){
        alert(this.state.msg);
    }
    getMsg(){
        alert(this.state.msg);
    }
     //第三种改变this指向的方法--在方法里面:使用箭头函数指向
    getName=()=>{
        alert(this.state.msg);
    }
    render() {
        return (
            <div>
                <button onClick={this.run}>点击按钮</button>
                {/* 第一种改变this指向的方法--在模板里面:改变this指向 */}
                <button onClick={this.getData.bind(this)}>第一种获取数据的方法</button>
                <button onClick={this.getMsg}>第二种获取数据的方法</button>
                <button onClick={this.getName}>第三种获取数据的方法</button>
            </div>
        )
    }
}
export default Home;
相关文章
|
28天前
|
前端开发 JavaScript 开发者
React:JSX语法入门
React:JSX语法入门
24 0
|
22天前
|
前端开发 JavaScript
React生命周期方法在实际开发中的应用场景有哪些?
【4月更文挑战第6天】 React 生命周期方法应用于数据获取、订阅管理、渲染逻辑处理、用户交互响应、性能优化、资源清理、强制更新、错误处理、动画实现、代码分割、服务端渲染、路由处理、依赖注入和集成第三方库。它们帮助控制组件行为和性能,但现代开发推荐使用Hooks替代部分生命周期方法。
15 0
|
1月前
|
XML 前端开发 JavaScript
【前端】深入了解React JSX语法及实例应用
【前端】深入了解React JSX语法及实例应用
16 0
|
2月前
|
前端开发 中间件 数据安全/隐私保护
React路由进阶方法
React路由进阶方法
27 1
|
3月前
|
前端开发
React 中条件渲染的 N 种方法
React 中条件渲染的 N 种方法
18 3
|
3月前
|
前端开发
React中setState方法详细讲解
React中setState方法详细讲解
|
3月前
|
前端开发
React类组件中事件绑定this指向的三种方式
React类组件中事件绑定this指向的三种方式
|
3月前
|
存储 Dart 前端开发
为什么说 Compose 的声明式代码最简洁 ?Compose/React/Flutter/SwiftUI 语法对比
为什么说 Compose 的声明式代码最简洁 ?Compose/React/Flutter/SwiftUI 语法对比
62 1
|
4月前
|
前端开发 JavaScript 开发者
React中JSX语法入门
React中JSX语法入门
|
4月前
|
前端开发 JavaScript
react关于类组件this指向
react关于类组件this指向
32 0