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

154
Views
¿Cómo paso una variable y la función para actualizar su estado como accesorio en React?

Si tengo variable como tal:

 const [APIKey, setAPIKey] = useState([])

¿Puedo agruparlos en 1 variable y pasarlo como accesorio?

 const passAPI = {APIKey, setAPIKey}

Así es como estoy tratando de pasarlo:

 const Home = () => { const [APIKey, setAPIKey] = useState([]) const [Symbols, setSymbols] = useState([]) const [Endpoint, setEndpoint] = useState([]) const [Base, setBase] = useState([]) const passAPI = {APIKey, setAPIKey} const passSymbols = {Symbols, setSymbols} const passEndpoint = {Endpoint, setEndpoint} const passBase = {Base, setBase} return ( <Grid container spacing='8' className='HomeWrapper'> <Grid item sx={{ display: { xs: 'none', sm: 'flex' }, width: '50%' }} className='x1'> <Paper elevation='6' className='HomePaper' sx={{ width: '100%'}}> <TopLeft passAPI={passAPI} passSymbols={passSymbols} passEndpoint={passEndpoint} passBase={passBase}/> </Paper> </Grid> ...

Y aquí hay un ejemplo de cómo estaba tratando de usarlo:

 const TopRight = ({passAPI, passSymbols, passEndpoint, passCurrency}) => { return ( <Box className='TopRightWrapper' sx={{ display: 'flex', flexDirection: 'column' }} pl={2} pt={1} pb={1}> <FormControl onSubmit={passAPI}> <Box> <InputLabel htmlFor="my-input">API Key</InputLabel> <Input id="my-input" aria-describedby="my-helper-text" /> <button type='submit'>click</button> </Box> </FormControl>

Me gustaría usar la función setAPIKey que se encuentra en la variable passAPI. ¿Cómo hago esto?

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Como puedo ver, passAPI en su caso es un objeto. Entonces, para obtener setState de passAPI, debe usar "passAPI.setAPIKey" en onSubmit. Así que debería ser así:

 <FormControl onSubmit={passAPI.setAPIKey}> <Box> <InputLabel htmlFor="my-input">API Key</InputLabel> <Input id="my-input" aria-describedby="my-helper-text" /> <button type='submit'>click</button> </Box> </FormControl>

Además, la API FormControl no tiene el evento onSubmit, debe usar la etiqueta "formulario" en su lugar. A través del argumento del evento onSumbit del formulario, podrá acceder a la propiedad "objetivo" que tendría elementos de formulario dentro, y luego accederá al valor de ese elemento de entrada. Algo como eso

 <form onSubmit={(e) => { e.preventDefault(); console.log("e", e.target[0].value); passAPI.setAPIKey(e.target[0].value) }} >

Avísame si te ayuda.

about 4 years ago · Santiago Trujillo 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!