Sto tentando di ottenere la larghezza di un elemento DOM ref
e di impostare state
da utilizzare all'interno del componente render
. Il problema si presenta perché questa larghezza cambia in input dell'utente e quando provo setState
all'interno di componentDidUpdate
inizia un ciclo infinito e il mio browser bombarda.Ottieni larghezza nodo DOM di React.refs dopo il rendering e attiva un nuovo rendering solo se la larghezza ha un valore modificato
ho creato un violino qui http://jsbin.com/dizomohaso/1/edit?js,output (aprire la console di alcune informazioni)
Il mio pensiero è stato;
Monti componenti, ingressi dati
setState: refs.element.clientWidth
utente, innesca
render
shouldComponentUpdate
rendimentitrue
solo senew.state
è non pari aold.state
. Il mio problema è, non sono sicuro di dove abbia senso aggiornare questostate
?
Qualsiasi aiuto sarà molto apprezzato, grazie per la lettura!
Brad.