我希望使用React获得音频元素。
var AudioPlayer = React.createClass({ componentDidMount: function () { console.info('Audio: component did mount'); var audio = React.findDOMNode('audio'); console.info('audio', audio); }, render : function() { return ( <audio src="/static/music/foo.mp3" controls /> ); } });
但是我不断收到错误:
错误:始终违规:元素似乎既不是ReactComponent也不是DOMNode(键:0、1、2、3、4)
确定降低的组件是React类吗?
它可以使用组件引用进行工作:
var AudioPlayer = React.createClass({ componentDidMount: function () { console.info('[AudioPlayer] componentDidMount...'); this.props.el = React.findDOMNode(this.refs.audio_tag); console.info('audio prop set', this.props.el); }, render: function() { console.info('[AudioPlayer] render...'); return ( <audio ref="audio_tag" src="/static/music/foo.mp3" controls autoplay="true"/> ); } });