Estoy tratando de construir un componente de reacción que permita lanzar un dado y actualizar el total de la tirada de dado en la página. Solo incluyo lo que percibo que es necesario ya que la función es bastante larga, pero esto debería cubrir el problemas que estoy teniendo
import "./Dice.css"; import img from "./img/D8.png"; class Dice extends Component { constructor(props) { super(props); this.state = { bonusRoll: 0, penaltyRoll: 0, totalRoll: 1 }; this.rollDie = this.rollDie.bind(this); }; rollDie(bonus,penalty) { let rolls = [] const reducer = (previousValue, currentValue) => previousValue + currentValue; console.log("test1") if (!bonus && !penalty){ console.log("test2") for (let i = 0; i < 2; i++) { rolls.push(Math.ceil(Math.random() * 8)) * i; // within my code this is line 41 }; this.setState({totalRoll: rolls.reduce(reducer)}); // return rolls.reduce(reducer) // this worked when the function was called in vanilla JS }}; render() { return ( <div className="Dice"> <div className="Dice-rolls-wrap"> <div className="Dice-base-roll"> <h5>Baseroll: {this.state.totalRoll}</h5> </div> </div> <button className="Dice-btn" onClick={this.rollDie}> <img className="Dice-img" src={img} alt="Dice icon" /> </button> </div> ); } } export default Dice;con el código anterior aparece el siguiente error al intentar ejecutar/crear la aplicación
src/Dice.js Line 41:9: Expected an assignment or function call and instead saw an expression no-unused-expressions Search for the keywords to learn more about each error.si agrego una declaración de devolución en la línea 41, todo se procesa, pero al hacer clic en el botón, no pasará del condicional (EG: "test1" se muestra en la consola pero "test2" no) No estoy pasando argumentos a la función por lo que debería estar respondiendo a este primer bit de lógica por lo que puedo decir, pero no estoy seguro de dónde me estoy equivocando. (Probablemente también estoy usando setState mal, pero aún no puedo obtener el código para llegar allí). Además, tenga cuidado, esta es mi primera pregunta de desbordamiento de pila.