鍍金池/ 問(wèn)答/網(wǎng)絡(luò)安全  HTML/ componentDidMount中 document.getElementB

componentDidMount中 document.getElementById('id')為null

問(wèn)題描述

componentDidMount中,document.getElementById('id')為null

問(wèn)題出現(xiàn)的環(huán)境背景及自己嘗試過(guò)哪些方法

我嘗試使用ref,發(fā)現(xiàn)this.refs中為undefined.

相關(guān)代碼

componentDidMount() {
    const fullscreenBtn = document.getElementById('button');
    if (fullscreenBtn) {
      fullscreenBtn.addEventListener('click', () => {
        if (fullscreenBtn.requestFullscreen) {
          fullscreenBtn.requestFullscreen();
        } else if ( document.getElementById('video').msRequestFullscreen) {
          fullscreenBtn.msRequestFullscreen();
        } else if ( document.getElementById('video').mozRequestFullScreen) {
          fullscreenBtn.mozRequestFullScreen();
        } else if ( document.getElementById('video').webkitRequestFullscreen) {
          document.getElementById('video').webkitRequestFullscreen();
        }
      });  
}
}
<div 
  className = "play_img" 
  id='button'
  ref='button' 
  ref={(ref) => this.button = ref}
  onClick={handleClick}>
  <img src={require('./assets/play.png')}  />
</div> 

回答
編輯回答
來(lái)守候

onClick事件寫(xiě)在屬性上,找元素用e.target

2017年3月26日 03:44
編輯回答
只愛(ài)你

不要在react中操作dom節(jié)點(diǎn)。不要在react中操作dom節(jié)點(diǎn)。不要在react中操作dom節(jié)點(diǎn)。
你記住這句話,就沒(méi)有你說(shuō)的問(wèn)題了。

2018年6月27日 07:42