Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

125
Vistas
Reactjs: ¿Por qué mi dispositivo virtual Android muestra 'this.setState_if_Tie' no es una función?

Estoy tratando de hacer una función de juego de tic-tac-toe en mi aplicación móvil usando react-native. Pero cuando el usuario ganó el juego, el juego no detuvo la ronda, en cambio, el juego continúa hasta que se llenan todos los espacios y aparece un error que dice que " this.setState_if_Tie no es una función".

En cambio, cuando el resultado sea un empate, la pantalla se congelará en blanco.

A continuación se muestran algunos códigos que están relacionados con dicho problema:

 judgeWinner(inputs){ //check the winning situation based on 'const conditions' return conditions.some(d => d.every(item => inputs.indexOf(item) !== -1)); } //if result === -1 game continue , result === 0 user won //if result === 1 bot won , result === 2 no winner setstate_if_Win(parse_res, parse_result){ if (parse_res && parse_result !== 0){ this.setState({ result: 0}); //User win } if (parse_res && parse_result !== 1) { this.setState({ result: 1}); //Bot win } } setstate_if_Tie = () => { this.setState({ result: 2 }); } componentDidUpdate() { const { userInputs , botInputs , result} = this.state; const inputs = userInputs.concat(botInputs); //res is result if (inputs.length >= 5) { let res = this.judgeWinner(userInputs); // go to line 95 to check winning result for user if (res && result !== 0) { this.setstate_if_Win(res, result); //User win return; } res = this.judgeWinner(botInputs); // go to line 95 to check winning result for bot if (res && result !== 1) { this.setstate_if_Win(res, result); //Bot win return; } } if (inputs.length >= 9 && result !== 2) { this.setState_if_Tie(); //No winner (Tie) } }

¿Hay alguna manera que pueda hacer para resolver este problema? Gracias de antemano.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe nombrar setState_if_Tie en lugar de setstate_if_Tie:

 setstate_if_Tie = () => { this.setState({ result: 2 }); }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda