Skip to content

Latest commit

 

History

History
51 lines (41 loc) · 1.06 KB

#6-不能摸的狗 (二).md

File metadata and controls

51 lines (41 loc) · 1.06 KB

题目描述:

有一只狗,不允许别人摸它,一旦摸它就会叫,然后就跑了;这只狗跑一段时间(20~50ms)以后就会停下来,也不叫了。

完成 Dog 组件,当用户点击的时候会执行自身的 barkrun 方法。给这个 Dog 组件加上状态 isRunningisBarking,在进行相应的动作的时候设置为 true,停下来的时候设置为 false


参考答案:

class Dog extends Component {
  constructor () {
    super()
    /* TODO */
    this.state = {
      isRunning: false,
      isBarking: false
    }
  }
  
  bark () {
    /* TODO */
    this.setState({
      isBarking: true
    }) 
  }
  
  run () {
    this.setState({
      isRunning: true
    })
    this.bark();
    setTimeout(function() {
      this.setState({
        isRunning: false,
        isBarking: false
      })
    }.bind(this), 30)
    /* TODO */
  }
 
  render () {
    return (<div onClick={this.run.bind(this)}>DOG</div>)
  }
}