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

288
Views
TS2345: Argumento de tipo 'Fecha | null' no se puede asignar al parámetro de tipo 'cadena | Fecha | indefinido'

Quería agregar un Selector de fecha a mi formulario pero recibí este error Error: TS2345: Argumento de tipo 'Fecha | null' no se puede asignar al parámetro de tipo 'cadena | Fecha | indefinido'. El tipo 'null' no se puede asignar al tipo 'string | Fecha | indefinido'. ¿Alguien puede ayudarme a resolverlo?

 export class Form extends React.Component<FormProps, { fname: string | undefined; lname: string | undefined; birthDate: Date | undefined; }> { constructor(props: FormProps) { super(props); this.state = { fname: undefined, lname: undefined, birthDate: undefined, }; } function testField(value: string | undefined | Date, set: React.Dispatch<React.SetStateAction<string | undefined>>): boolean { if(value === undefined) { set(''); return false; } if(value === '') { return false; } return true; } let [fname, setfname] = useState<string | undefined>(undefined); let [lsname, setlname] = useState<string | undefined>(undefined); let [birthDate, setBirthDate] = useState<Date | null>(null); const testNext = () => { let success = true; success = testField(fname, setFname) && success; success = testField(lname, setlname) && success; success = testField(birthDate, setBirthDate) && success; return (<Fragment> <div className="content__form"> <div className="formcolcontainer"> <div className="formcol"> <Input onChange={setFname} name="Fname" error={Fname=== ''}/> <Input onChange={setlname} name="lname" error={lname=== ''}/> </div> <div className="formcol"> <DatePicker id='BirthDate' selected={birthDate} onChange={(date) => setBirthDate(date)} placeholderText="Birth Date" /> </div> </div> </div> </Fragment>);}
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Dice que describió su variable de estado de fecha como puede ser null o date . Sin embargo, también puede ser de tipo indefinido. Puede actualizar su estado de fecha a este useState<Date|string|undefined> .

Alternativamente, puede pasar el cursor sobre los accesorios onChange de DatePicker para ver el tipo de parámetro de "fecha" que tiene. Luego actualiza su tipo de estado en consecuencia.

 const [birthDate, setBirthDate] = useState<Date | null | undefined>(null);
about 4 years ago · Juan Pablo Isaza Report

0

DatePicker no quiere un valor nulo en la propiedad 'seleccionada' y su estado de uso de la fecha de nacimiento es nulo, puede dejar el valor predeterminado para la fecha de nacimiento vacío. Y deberías usar const para React Hooks.

Asi que:

 const [birthDate, setBirthDate] = useState<Date>();

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!