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

287
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
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