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

148
Views
¿Cómo hacer un envoltorio intercambiable?

Tengo un problema con mis campos de formulario y necesito usar FastFields en algunas situaciones y Fields en otras. Por lo tanto, mi FormikControl, una clase para crear entradas de formik, necesita cambiar entre y como envoltorios. No estoy seguro de cómo hacer esto. Aquí hay parte de la clase:

 const FormikControl = (props) => { const { name, type, label, disabled, fullWidth, isDynamic, // Field (true) or FastField } = props; const classes = useStyles(); const inputProps = {}; switch (type) { case 'text': return ( <> <ComplexField name={name} isDynamic={isDynamic} {...props}> // meant to be the wrapper that switches {({ field }) => { return ( <TextField {...field} variant="standard" label={label} fullWidth={fullWidth} disabled={disabled} InputLabelProps={{ shrink: true, }} InputProps={inputProps} value={field.value || ''} /> ); }} </ComplexField> <ErrorMessage error name={name} component={FormHelperText} /> </> );

ComplexField está destinado a ser el envoltorio flexible y debe poder cambiar entre Field y FastField en función de "isDynamic". Mi mejor intento fue este:

 const ComplexField = ({ name, children, isDynamic, ...props }) => { return isDynamic ? ( <Field name={name} props={props}>{({ field }) => children({ ...props, field })}</Field> ) : ( <FastField name={name} props={props}>{({ field }) => children({ ...props, field })}</FastField> ); };

No funcionó :(

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

0

<ComplexField name={name}>

No estás pasando por ahí el accesorio "isDynamic" ¿Es intencional? Porque así es obvio que no funciona.

<ComplexField name={name} isDynamic={isDynamic}>

Si desea utilizar un patrón mejor, lea los componentes de reacción de procesamiento condicional

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!