Ну, вы стареете, значит последнее заданное значение в состоянии, потому что вы делаете вещи одновременно / параллельно как заданное значение, так и значение консоли. Значит, вы знаете, что JS является асинхронным, что вы здесь делаете
onChange1(e) {
this.setState({
start: e.target.value,
});
console.log(this.state.start)
}
, что здесь происходит, устанавливая новое значение для состояния и текущего текущего состояния / последнего / значения по умолчанию (первое время). Вот почему вы его получаете второй раз.
, чтобы получить текущий, выполните следующие действия:
onChange1(e) {
this.setState({
start: e.target.value,
},function(whatever){
console.log(this.state.start)
});
}
он выполнит и консольное значение после завершения вашего состояния набора.
И для даты форматирования без momentjs
вы можете найти источник momentjs
, что они делают под капотом, очевидно, что они используют JS. Если бы я был вами, я сделаю это. Ха-ха