Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

191
Views
Al recorrer las opciones de una lista, los únicos elementos que se muestran son la última opción (se muestra dos veces) y la penúltima opción (reaccionar JS nativo)

Estoy tratando de recorrer las opciones en una lista usando los botones izquierdo y derecho que llaman a las funciones cycleLeft() y cycleRight() , pero en cambio todo lo que obtengo es la penúltima opción que se muestra dos veces seguidas y luego la última opción que se muestra una vez . esto es para una aplicación nativa de reacción dentro de la función de la aplicación principal. cualquier ayuda es apreciada.

 var gamesList = ["Quadratic", "Magic Square", "Settings", "Option 3"]; var index = 0; var game = gamesList[index]; const [gameText, setGameText] = useState(gamesList[index]); const [gameGame, setGameGame] = useState(gamesList[index]); const zAnim = useRef(new Animated.ValueXY({ x: 0, y: 1000 })).current; const cycleLeft = () => { index = index - 1; if (index < 0) { index = gamesList.length - 1; }; game = gamesList[index]; setGameText(gamesList[index]); console.log(game + " " + index); } const cycleRight = () => { index = index + 1; if (index > gamesList.length - 1) { index = 0; }; game = gamesList[index]; setGameText(gamesList[index]); console.log(game + " " + index); }

Registro de la consola

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

index debe tener estado en lugar de gameText

 var gamesList = ["Quadratic", "Magic Square", "Settings", "Option 3"]; const [index, setIndex] = useState(0); const cycleLeft = () => { setIndex(prevIndex => prevIndex - 1 < 0 ? gamesList.length - 1 : prevIndex - 1); } const cycleRight = () => { setIndex(prevIndex => prevIndex + 1 > gamesList.length - 1 ? 0 : prevIndex + 1); } //just for logging useEffect(() => { console.log(gamesList[index]+ " " + index); }, [index]);

Donde sea que esté usando gameText , puede usar gamesList[index] en su lugar.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!