У меня есть основное приложение для проверки ES6 и я пытаюсь использовать momentJS для управления некоторыми датами. По некоторым причинам я получаю month.add is not a function
Управление датами Momentjs в ReactJS
В настоящее время код у меня есть это:
export default class CalendarApp extends React.Component {
constructor() {
super();
this.state = {
currentDate: Moment().format(),
month: Moment().format('MMMM'),
year: Moment().format('YYYY')
}
// Bind Methods to this
this.previousMonth = this.previousMonth.bind(this);
this.nextMonth = this.nextMonth.bind(this);
}
previousMonth() {
let month = this.state.month;
month.add(-1, 'months');
this.setState({
month: month
})
}
nextMonth() {
let month = this.state.month;
month.add(1, 'months');
this.setState({
month: month
})
}
render() {
return (
<div className="calendar">
<div className="calendar-container" style={ hideCalendar }>
<caption>
<button className="previous-month" onClick={ this.previousMonth }>Prev</button>
<button className="next-month" onClick={ this.nextMonth }>Next</button>
<div className="calendar-month">
<span>{ this.state.month } { this.state.year }</span>
</div>
</caption>
</div>
</div>
)
}
}
Я пробовал различные варианты установки начального состояния с помощью Moment().month()
т.д., но ничего не похоже на работу. Любая помощь приветствуется.
Спасибо за ваш ответ. Если я создаю только один объект в состоянии, например currentDate, можно ли потом использовать 'this.state.currentDate.format (« MMMM »)'? –
Да, это возможно. Вы просто обновите html. –
Да, вы можете, хотя текущее время, вероятно, берется в момент создания объекта, а не когда вы делаете .format на нем - возможно, это не проблема, но стоит иметь в виду –