2017-05-06 13 views
9

Cześć Im próbuje utworzyć wejście zakres, który wyświetla podpowiedź tuż nad kciukiem suwakJak uzyskać szerokość elementu reagować

I przeszedł kilka przykładów wanilia JS online i wydaje się, że muszę mieć szerokość elementu, aby to osiągnąć.

Po prostu zastanawiałem się, jak uzyskać szerokość elementów?

prawie równoważne metody jQuery $ (element) .width()

Odpowiedz

-8

można zrobić:

class MyComponent extends Component { 
    componentDidMount() { 
    console.log(this.refs.bla.offsetWidth) 
    } 

    render() { 
    <div ref="bla">some elem</div> 
    } 
} 

Jest inne odpowiedzi tam obejmujących wymiary elementem React. Proponuję, abyś następnym razem wyszukał!

+2

Zrobiłem !! Chyba po prostu go nie znalazłem ... wygląda na to, że sposób wywoływania odwołań jest przestarzały, chociaż powinien to być 'class MyComponent extends Component { componentDidMount() { console.log (this.rangeInput.offsetWidth) } render() {

{{this.rangeInput = input}}>some elem
} } ' –

+1

Cóż, wyglądasz teraz głupio @publicJorn – Trent

25
class MyComponent extends Component { 
     componentDidMount() { 
     console.log(this.myInput.offsetWidth) 
     } 

     render() { 
     <div ref={input => {this.myInput = input}}>some elem</div> 
     } 
    } 

To nie działało, gdy próbowałem, ponieważ używałem stylowanych komponentów, które należy przekazać innerRef zamiast ref.

+0

co z dopełnieniem ... – AlxVallejo

Powiązane problemy