2017-08-24 1 views
0

Chez componentDidMount, je n'ai que zéro pour offsetWidth d'un élément mais l'élément a totalement la largeur. Comment obtenir une largeur d'élément après le rendu?Récupère la taille de l'élément dans réagit componentDidMount

componentDidMount(){ 
    console.log(this.$slide.offsetWidth); 
    } 

render() { 
return <div 
      className='Reader__ImageWrapper' 
      ref={(slide) => { this.$slide = slide; }} 
     > 
      <img src={`/Images/Reader/Pages/Page 001.jpg`} className="Reader__Image"/> 
      <img src={`/Images/Reader/Pages/Page 002.jpg`} className="Reader__Image"/> 
     </div> 
} 
+0

Юрий, кажется в это время размеры компоненты действительно равны нулю, я обработал тот же кол по клику уже после отрисовки, и там всё норм. Если вы уже нашли решение прошу сообщить –

Répondre

-1

Dans REACT compoents componentDidMount essayer ci-dessous le code

façon JavaScript ...

document.getElementById("mydiv").offsetWidth; 

façon jQuery ...

$('#mydiv').width(); 
+0

Motif complètement anti-réaction –

0

Vous devez obtenir le dom d'abord en componentDidMount et sa largeur de décalage:

ReactDOM.findDOMNode(this.$slide).offsetWidth;