¿Cómo selecciono ciertas barras en react.js?
Este es mi código:
var Progressbar = React.createClass({
getInitialState: function () {
return { completed: this.props.completed };
},
addPrecent: function (value) {
this.props.completed += value;
this.setState({ completed: this.props.completed });
},
render: function () {
var completed = this.props.completed;
if (completed < 0) { completed = 0 };
return (...);
}
Quiero usar este componente Reaccionar:
var App = React.createClass({
getInitialState: function () {
return { baction: 'Progress1' };
},
handleChange: function (e) {
var value = e.target.value;
console.log(value);
this.setState({ baction: value });
},
handleClick10: function (e) {
console.log('You clicked: ', this.state.baction);
document.getElementById(this.state.baction).addPrecent(10);
},
render: function () {
return (
<div class="center">Progress Bars Demo
<Progressbar completed={25} id="Progress1" />
<h2 class="center"></h2>
<Progressbar completed={50} id="Progress2" />
<h2 class="center"></h2>
<Progressbar completed={75} id="Progress3" />
<h2 class="center"></h2>
<span>
<select name='selectbar' id='selectbar' value={this.state.baction} onChange={this.handleChange}>
<option value="Progress1">#Progress1</option>
<option value="Progress2">#Progress2</option>
<option value="Progress3">#Progress3</option>
</select>
<input type="button" onClick={this.handleClick10} value="+10" />
<button>+25</button>
<button>-10</button>
<button>-25</button>
</span>
</div>
)
}
});
Quiero ejecutar la función handleClick10 y realizar la operación para mi barra de progreso seleccionada. Pero el resultado que obtengo es:
You clicked: Progress1
TypeError: document.getElementById(...) is null
¿Cómo selecciono cierto elemento en react.js?
fuente

Para obtener el elemento
react, debe usarrefy dentro de la función puede usar elReactDOM.findDOMNodemétodo.Pero lo que más me gusta hacer es llamar al árbitro justo dentro del evento
Este es un buen enlace para ayudarte a descubrirlo.
fuente
this.myTextInputpara acceder.React.findDOMNodeme dareact__WEBPACK_IMPORTED_MODULE_0___default.a.findDOMNode is not a functionReact.findDOMNodeen modo estricto.Usted puede reemplazar
con
fuente
Como React usa el código JSX para crear un HTML, no podemos hacer referencia a dom utilizando métodos de regulación como documment.querySelector o getElementById.
En cambio, podemos usar el sistema de referencia React para acceder y manipular Dom como se muestra en el siguiente ejemplo:
}
fuente