zoukankan      html  css  js  c++  java
  • react事件 报错Cannot read property 'setState' of undefined

    import React, { Component } from "react";
    
    export class TestHanderClick extends Component {
      //有构造器state写在里面, 构造器中必须要有super并且传递参数
      constructor(props) {
        super(props);
        this.state = {
          num: 100,
        };
      }
    
      myChuFa() {
        alert("被触发了");
        // 报错 Cannot read property 'setState' of undefined
        // 说明state这个对象是未定义的,如何解决呢
    
        this.setState({
          num: this.state.num + 10,
        });
      }
    
      render() {
        //   this是这个组件
        return (
          <div>
            <div>{this.state.num}</div>
            <div onClick={this.myChuFa}> 我是事件</div>
          </div>
        );
      }
    }
    
    export default TestHanderClick;
    
    
    
    初次看这个代码是没有问题的,但是你会点击后会发现报错
    报错 Cannot read property 'setState' of undefined
    说明state这个对象是未定义的,如何解决呢
    只需要将
    <div onClick={this.myChuFa}> 我是事件</div>
    
    改成为
    <div onClick={this.myChuFa.bind(this)}> 我是事件</div>
    
    作者:流年少年
    出处:https://www.cnblogs.com/ishoulgodo/

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!

    万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    支付宝
    微信
    本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    Atcoder Grand Contest 003 题解
    Atcoder Grand Contest 002 题解
    Atcoder Grand Contest 001 题解
    网络流24题
    AGC005D ~K Perm Counting
    loj6089 小Y的背包计数问题
    CF932E Team Work
    组合数学相关
    SPOJ REPEATS
    [SDOI2008]Sandy的卡片
  • 原文地址:https://www.cnblogs.com/ishoulgodo/p/13520668.html
Copyright © 2011-2022 走看看