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

153
Vistas
¿Cómo guardo el estado de diferentes componentes secundarios en una única matriz de estado en el componente principal con todos los valores?

Estoy tratando de guardar los estados de los componentes secundarios en una matriz en el componente principal. La estructura es algo así: -

 <App> <Quiz /> <Quiz /> <Quiz /> <Quiz /> <Quiz /> </App>

Cada componente secundario de Cuestionario tiene un estado llamado selectedOption que contiene el valor de la opción seleccionada (botón en el que se hizo clic) . ¿Hay alguna manera de pasar todo esto a una sola matriz de estado en el componente principal <App /> ? Estoy tratando de guardarlos en una matriz para poder mapear sus valores más tarde y verificar si es igual a la opción respectiva en otra matriz que contiene las respuestas correctas (con la ayuda del índice).

Código

<Aplicación / >

 function App() { const [showMenu, changeMenu] = useState(true); const [correctAnswers, setCorrectAnswers] = useState(["", "", "", "", ""]) // i need to save them here const [quiz, setQuiz] = useState([]); function getQuiz() { fetch("my api key") .then((res) => res.json()) .then((data) => setQuiz(data["results"])); } function getValues(val) { console.log(val); //this was only for the purpose of debugging but didnt work as i wanted } React.useEffect(() => { getQuiz(); }, []); const renderQuiz = quiz.map((val) => { let question = decodeURIComponent(val["question"]); let correctAnswer = decodeURIComponent(val["correct_answer"]); let wrongOptions = val["incorrect_answers"]; let allOptions = []; wrongOptions.map((elem) => allOptions.push(decodeURIComponent(elem))); allOptions.push(correctAnswer); allOptions = shuffle(allOptions); return ( <Quiz question={question} options={allOptions} correctOption={correctAnswer} getValues={getValues} /> ); }); }

Una parte del componente <Quiz/>

< Cuestionario / >

 export default function Quiz({ options, question, getValues, correctOption, ...props }) { const [chosenOne, setChosenOne] = React.useState(); const [selectedOption, setSelectedOption] = useState(""); const [isCorrect, setisCorrect] = useState(false); const list = [...options]; function simplyPrintThis(x) { let val = x.value; console.log(val); setSelectedOption(val); setisCorrect(val == correctOption) }
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