美文网首页
_this7.setState is not a functio

_this7.setState is not a functio

作者: 楠楠_c811 | 来源:发表于2018-12-17 16:18 被阅读11次

今天写页面,出了个诡异的报错。
看见时候一头雾水。
_this7.setState is not a function嘛意思?我没定义_this7啊,为啥提示我他不是函数?
面向百度走了一波,算是明白了。虽然报错是说_this7不是一个函数,但是其实错不在这里,而是在this指向的问题。
报错的地方只是一个下拉框搜索,很简单的一个逻辑。话不多说,看代码吧:

class Dapp extends Component {
 // 上架状态下拉框事件
 handleChange(value){
   let params = {
     "status": value,
   }
  // 传参调用全部数据接口 
   this.getList(params)
 }
render(){
 return(
 <div>
   <Select
       showSearch
        style={{ width: 200 }}
         // 选择框默认文字
         placeholder="全部"
         // 选项变化时触发事件
         onChange={this.handleChange}
    >
         <Option value="">所有</Option>
         <Option value="0">冻结</Option>
         <Option value="1">上架</Option>
    </Select>
 </div>
  )
}

}

之所以出现这个报错,原因就在于onChange,选项变化时触发的handleChange事件,this的指向问题。
使用bind()给他绑定this,就能解决这个问题。
所以这一行修改后的代码为:

onChange={this.handleChange.bind(this)}

给他绑定了this指向之后,这个问题就迎刃而解喽~~~~

相关文章

网友评论

      本文标题:_this7.setState is not a functio

      本文链接:https://www.haomeiwen.com/subject/zqrckqtx.html