关于setTimeout的一个问题

我在用ReactJS写一个简单的音乐播放器,遇到一个问题:

    //下一曲事件
    handleNext: function () {
        var count = (this.state.count + 1) % this.props.data.length;
        this.setState({count:count});
        this.autoPlay();
    },
    autoPlay:function(){
        var audio = React.findDOMNode(this.refs.audio);
        setTimeout(function(){  //这里为毛不用setTimeout不行
            audio.load();
            audio.play();
        },0);
        
    }

请问各位大神,为什么不用setTimeout,play()函数不执行(没有播放)?

阅读 2.8k
2 个回答

audio的src是根据state.count获取的? 如果是的话,在你调用autoPlay的时候还没有重新render

我猜测可能和 this.setState 有关系

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题