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

66
Views
Enviar información del formulario a otro componente

Diseñé una tarjeta flash y quiero cambiar el texto de la tarjeta cuando hago clic en el botón, pero no sé cómo enviar la información del formulario al componente de la aplicación para actualizar el estado. componente de la aplicación

 function App() { const [flashCard, setFlashCard] = useState({ word: "test", persianEquivalent: "test", }); const setFlashCardHandler = (e) => { setFlashCard({ flashCard: e }); }; return ( <div className="container"> <Form setFlashCard={setFlashCardHandler} /> <FlashCard flashCard={flashCard} /> </div> ); } export default App;

Componente de formulario:

 function Form({ setFlashCard }) { const [valueEn, setValueEn] = useState(); const [valuePer, setValuePer] = useState(); const setValueHandlerEn = (e) => { setValueEn(e.target.value); }; const setValueHandlerPer = (e) => { setValuePer(e.target.value); }; const setFlashCardHandler = (e) => { e.preventDefault(); setFlashCard((e)=>{valueEn=e.target[0].value}); }; return ( <form onSubmit={setFlashCardHandler}> <input id="word-input" placeholder="world" value={valueEn} onChange={setValueHandlerEn} /> <input id="persian-equivalent-input" placeholder="Equivalent" value={valuePer} onChange={setValueHandlerPer} /> <button id="submit-btn">send</button> </form> ); } export default Form;
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Hay un problema con la forma de establecer los valores.

  1. Pase setFlashCard como accesorio a Form
 <Form setFlashCard={setFlashCard} />
  1. En Formulario, cambie setFlashCardHandler como se muestra a continuación.
 const setFlashCardHandler = (e) => { e.preventDefault(); setFlashCard({ word: valueEn, persianEquivalent: valuePer }); };
  1. Establezca una cadena vacía ( "" ) como estado predeterminado para evitar enviar undefined .
 const [valueEn, setValueEn] = useState(""); const [valuePer, setValuePer] = useState("");

Editar proud-water-2xz9y

about 4 years ago · Juan Pablo Isaza Report

0

Agregue nuevos accesorios updateFlashCard al componente.

Me gusta:

 <Form updateFlashCard={(e) => setFlashCard(e)}/>

Y cambie el valor en el estado updateFlashCard del componente de formulario

Me gusta:

 function Form({ updateFlashCard }) { const [valueEn, setValueEn] = useState(); const [valuePer, setValuePer] = useState(); const setValueHandlerEn = (e) => { setValueEn(e.target.value); }; const setValueHandlerPer = (e) => { setValuePer(e.target.value); }; const setFlashCardHandler = (e) => { e.preventDefault(); updateFlashCard(e.target[0].value) // update from here }; return ( <form onSubmit={setFlashCardHandler}> <input id="word-input" placeholder="world" value={valueEn} onChange={setValueHandlerEn} /> <input id="persian-equivalent-input" placeholder="Equivalent" value={valuePer} onChange={setValueHandlerPer} /> <button id="submit-btn">send</button> </form> ); } export default Form;
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!