美文网首页
_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