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

216
Vistas
How to change backgroundColor for Touchable Opacity using .map() in function?

So i am making a quiz app and the problem is i need to highlight checked answer button. I figured out how to do it with Refs, but it works for only three questions. How do i change it to work for the whole test. mapping through question answers

                <TouchableOpacity
                  key={answers.buttonId}
                  onPress={() => {
                    checkIfCorrect(answers.isCorrect);

                    resetColors(answers.buttonId);
                    highlightBlack(answers.buttonId);
                  }}
                  style={{
                    borderWidth: 1,
                    width: "80%",
                    margin: "5%",
                  }}
                >
                  <View ref={(el) => (myRefs.current[answers.buttonId] = el)}>
                    <Text
                      style={{
                        color: "grey",
                        fontSize: 32,
                        textAlign: "center",
                      }}
                    >
                      {answers.answerText}
                    </Text>
                  </View>
                </TouchableOpacity>
              ))}```
Array element with question
```{
      questionNumber: 3,
      questionText: "Solve 1 - 5x = 0.",
      questionImage: "",
      answers: [
        { answerText: "5", isCorrect: true },
        { answerText: "-1/5", isCorrect: false },
        { answerText: "1/5", isCorrect: true },
        { answerText: "4", isCorrect: false },
      ],
    },```

This how i use refs
```  const highlightBlack = (itemId) => {
    myRefs.current[itemId].setNativeProps({
      style: { backgroundColor: "black" },
    });
  };

  const resetColors = (itemId) => {
    myRefs.current.forEach((ref) => {
      if (ref !== itemId) {
        ref.setNativeProps({ style: { backgroundColor: "white" } });
      }
    });
  };```

It crashes after the 3rd question
about 4 years ago · Juan Pablo Isaza
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