在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ ES6寫react組件 _this.setState is not a func

ES6寫react組件 _this.setState is not a function

問題描述

使用react開發(fā)過程中,用ES6語法寫組件如下

const Name = (props) => {
    this.state = {
        data: null,
        visible: false
    };
    
    const open = (data) => {
        this.setState({
            data,
            visible: true
        });
    }
    
    return (
        <div>content</div>
    );
}

當執(zhí)行open()時提示Unhandled Rejection (TypeError): _this.setState is not a function

嘗試過

const that = this;
that.setState({})

抱一樣的錯誤,求大佬解答。

回答
編輯回答
薔薇花

你這樣寫是無狀態(tài)組件,沒有生命周期,當然沒有react.component的方法,你需要改為

class Name extends React.Component(){
 constructor() {
    super()
    this.state = {
      
    }
  }
   render (){}


}
2018年8月31日 21:32
編輯回答
薄荷糖

這種寫法就是stateless組件了,你都沒繼承react的方法,所以沒有生命周期,沒有render,沒有state,setState的方法肯定也沒有,題主搜一下stateless組件看看就清楚了

2017年6月7日 06:56