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所以会上第一张图的的现象 看到了吧 手误害死人啊