Как правильно перенести объект Date, переданный с состоянием в React, в указатель даты? - PullRequest
0 голосов
/ 14 февраля 2020

Я использую DatePicker с моим приложением реакции. Я передаю объект, который содержит поле даты от одного компонента к другому через location.state. Это компонент редактирования, где я могу изменить значения этих полей. Но консоль ругается с недопустимым исключением времени. Я прочитал, что я должен сделать что-то с parseISO, но все равно ничего не делает. Как правильно его использовать? (настройки это поле this.state)

...
import DatePicker from 'react-datepicker'
import 'react-datepicker/dist/react-datepicker.css'
import { parseISO, format } from 'date-fns'
...

            <DatePicker
              name="saleDateFrom"
              selected={parseISO(settings.saleDateFrom)}
              onChange={this.handleChangeFrom}
              dateFormat="MMMM dd, yyyy hh:mm:ss aa"
            />

Ответы [ 2 ]

1 голос
/ 14 февраля 2020
   <DatePicker
          name="saleDateFrom"
          selected={new Date(settings.saleDateFrom)}
          onChange={this.handleChangeFrom}
          dateFormat="MMMM dd, yyyy hh:mm:ss aa"
        />

Это позаботится о ваших проблемах. response-datepicker ожидает дату как javascript объекты Date

1 голос
/ 14 февраля 2020

Вы можете использовать Date.parse(settings.saleDateFrom), чтобы получить время с начала эпохи.

Если вам нужно это как объект данных.

new Date(Date.parse(settings.saleDateFrom))

...