Как задать текущую дату в форме?

Как можно указать сегодняшнюю дату в форме?

function App() {
  let [date, setDate] = useState('')

  return (
    <div className="App">
        <div className={'red'} id={'red'}></div>
        <input value={date}  onChange={e => setDate(e.target.value)} id="date"  className={'date'} type="date"  />

    </div>

  );
}

Ответы (1 шт):

Автор решения: SwaD

Что бы задать текущую дату для input, потребуется создать объект Date, взять год, месяц и число. Месяц и число проверить на длину и если 1, то добавить лидирующий 0.

Все это лучше делать в useState при создании компонента

function App() {
  let [date, setDate] = useState(() => {
    const date = new Date(); // Создаем дату
    const month = (date.getMonth()+1).toString(); // Получаем месяц
    const day = date.getDate().toString(); // Получаем день
    // Возвращаем строку формата даты для input type=date
    return `${date.getFullYear()}-${month.length === 2 ? month : `0${month}` }-${day.length === 2 ? day : `0${day}`}`
  })

  return (
    <div className="App">
      <div className={'red'} id={'red'}></div>
      <input value={date} onChange={e => setDate(e.target.value)} id="date" className={'date'} type="date"  />
    </div>
  );
}
→ Ссылка