Даты, приходящие из вашей выборки, должны быть конвертированы в Момент дату.Я не знаю, в каком формате возвращается ваша дата, но если она не в формате ISO 8601 (ГГГГ-ММ-ДД), вам также нужно будет указать формат при создании объекта Moment, поэтому измените код на один изследующее:
startDate: moment(project.startDate)
startDate: moment(project.startDate, 'DD-MM-YYYY') //specify format that is relevant for your date string if it is not ISO8601
Обработчик события onChange, предоставленный компонентом, возвращает выбранную дату (это не похоже на обработчик события normal *1007* JS).Поэтому вы не получите объект, у которого есть event.target.value.Вместо этого вы получите выбранную дату, поэтому просто установите значение параметра startDate в вашем объекте состояния:
onChange={(newDate) => this.setState({ startDate: newDate })}
Обратите внимание, что значение уже будет датой момента, поэтому не нужно преобразовывать.
Затем вам нужно будет сделать то же самое с указателем даты endDate и endDate.
Также обратите внимание, что на самом деле нет необходимости устанавливать свойство value, если вам не нужно менятьна самом деле отображается в элементе ввода - обычно вы можете добиться правильного вывода, используя только свойства selected и dateFormat (и, конечно, установка значения и того же значения на одно и то же приведет к ошибке, так как для первого требуется строка, а для второго - мгновение)объект).
Ошибка в отношении контролируемого к неконтролируемому, вероятно, вызвана тем, что вы не полностью инициализировали свое состояние в своем конструкторе - вы должны инициализировать все свои компоненты для чего-то разумного в конструкторе, поскольку ответ на выборку будетпочти наверняка оккур после первоначального рендеринга в качестве его обещания на основе.Ваше начальное состояние в конструкторе должно выглядеть примерно так (свойство проекта, кстати, кажется ненужным):
this.state = {
projectname: '',
typeofproject: 'Film (Cinema)', //if you want a default selected otherwise leave as empty string
imageURL: '',
startDate: moment(),
endDate: moment()
}