La fecha se presenta en el formato correcto (31/08/21), pero onChange establece la fecha de inicio en algo como esto:
martes 31 de agosto de 2021 21:29:17 GMT+0200 (Mitteleuropäische Sommerzeit)
¿Cómo puedo guardar el formato que muestro?
import DatePicker from "react-datepicker"; import "react-datepicker/dist/react-datepicker.css"; export default function Bodyweight() { const [startDate, setStartDate] = useState(new Date()); return( <div> <DatePicker dateFormat="dd/MM/yy" selected={startDate} onChange={(date) => setStartDate(date)} /> </div> )}Su componente DatePicker acepta la fecha en formato Tue Aug 31 2021 21:29:17 GMT+0200 (Mitteleuropäische Sommerzeit) .
Y también devuelve la fecha en el mismo formato.
Para convertir la fecha en el formato requerido, tiene pocas opciones.
Si DatePicker es su propio componente, verifique su implementación y modifique el código para que devuelva la fecha en el formato requerido.
Si la opción 1 no es una opción, convierta manualmente la fecha en el formato requerido. Tenga en cuenta que es posible que necesite una tercera variable para almacenar la fecha formateada, ya que sus componentes DatePicker aceptan un objeto de fecha real, no una cadena.
Consulte este enlace para convertir la fecha en formato req. Formatee la fecha de JavaScript como aaaa-mm-dd
Simplemente use new Date().toLocaleDateString() en su conjunto de estado inicial, es decir,
const [startDate, setStartDate] = useState(new Date().toLocaleDateString());Estoy respondiendo según tengo entendido, si esta no es la solución que está buscando, rectifique en los comentarios.