为啥只有一次点击有效果(getpostData是自己fake的)


  • 0

    回复: #10 React.js 加载、刷新数据

    var getPostData = new Promise( function(f){ setTimeout(() => {f('加载完成')},1000)} )
    class Post extends React.Component {
      
      constructor(){
        super();
        this.state = {content:''}
      }
      clickHandler(e){
        console.log(e.type)
        this.setState({content:'数据加载中'})
        //setTimeout(() => this.setState({content: '加载完成'}),1000)
        getPostData.then((postContent) => {this.setState({content:postContent});console.log(this)} )
      }
     
      render () {
        return (
          <div>
            <div className='post-content' </div>
            <button onClick = {this.clickHandler.bind(this)}>刷新</button>
          </div>
        )
      }
    }
    

    上述代码只能实现一次点击效果,但是如果我把getPostData用一个函数包裹起来,变成

    var getPostData =function(){
        renturn new Promise( function(f){ setTimeout(() => {f('加载完成')},1000)} )}
    

    多次点击又可以了,不知为啥


登录后回复
 

与 ScriptOJ 的连接断开,我们正在尝试重连,请耐心等待