#6题,知道要用setTimeOut方法,但具体使用概念模糊


  • 0

    class Dog extends Component {
    constructor () {
    super()
    this.state = {
    isRunning: true,
    isBarking: true
    }
    }

    bark () {
        console.log('bark')
    
    }
    
    run () {
        console.log('run')
    }
    
    handleOnClick () {
        this.bark ()
        this.run()
        setTimeout(() => {
            this.setState({
                isRunning: false,
                isBarking: false
            })
        },500)
    }
    
    render () {
        return (<div onClick={this.handleOnClick.bind(this)}>DOG</div>)
    }
    

    }

    这么写可对?


  • 0

    小狗起步的时候应该都为 false,因为没人摸它

    super() {
      this.state = {
        isRunning: false,
        isBarking: false
      }
    }
    

    题目要求点击的时候要跑和跳起来,要设置 bark 和 run 方法要设置 state

    bar () {
      console.log('bark')
      this.setState({
        isBarking: true
      })
    }
    
    run () {
      console.log('run')
      this.setState({
        isRunning: true
      })
    }
    

    另外 500ms 时间太长了,题目要求的是 20 ~ 50ms


登录后回复
 

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