如何处理日期中的onChange值?反应js

アリ・*_*ディム 5 javascript reactjs

我有一个简单的日期输入组件,当更改它的值时我就卡住了。因为它总是打印值“1970-01-01”。

有人知道该怎么做。将不胜感激。

这是我的代码:

import React, { useState } from 'react';
import moment from 'moment';

const DateInput = ({ className = style.defaultSize, onChange }) => {
  const [value, setValue] = useState(moment().format('YYYY-MM-DD'));

  const onChangeDate = (date) => {
    const newDate = moment(date.timeStamp).format('YYYY-MM-DD');
    setValue(newDate);
    console.log(newDate); //always log "1970-01-01"
  };

  return (
    <input
        type="date"
        value={value}
        onChange={onChangeDate}
     />
  );
};

export default DateInput;
Run Code Online (Sandbox Code Playgroud)

nma*_*ran 3

那是因为我们将valueevent.target.value

  const onChangeDate = e => {
    const newDate = moment(new Date(e.target.value)).format('YYYY-MM-DD');
    setValue(newDate);
    console.log(newDate); //value picked from date picker
  };
Run Code Online (Sandbox Code Playgroud)