关于react this.setState is not a function 的报错问题解决

setState作为react 神方法大家都知道  并且它是一个方法 要传入一个对象来更新组件的state,

出现

this.setState is not a function  

最常见的就是在function(){

function(){

}

}

fn套fn的状态下没有缓存this 使this没有指向正确的组件实例化对象 导致访问不到setState方法,当然还有别的情况导致this的指向问题


以上都是太平常的问题大家看看就好

注意下面是楼主范二产生的另外一种情况 高能如下:


首先大家看到打印的this 正常,是组件实例化对象this指向没有错,再仔细看this下有setState属性并且还被赋值了

再让我们看看实际上setState方法在哪里

所以说是方法还是在的 只是实例下面有setState属性 所以就访问不到我们想访问的setState方法了(骚年如果这不知道就去看原型链吧)

楼主find出这个页面的所有setState字段 猛然发现

这个setState这么别扭呢    全是"="惹得祸

本来是个方法 这里变成给this(实例)添加属性了  还是个同名的setState所以会上第一张图的的现象  看到了吧 手误害死人啊


  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值