Итак, у меня есть календарь, только с буднями, с понедельника по воскресенье. Я хочу реализовать что-то, что, когда вы нажимаете стрелку (влево или вправо), пользовательский интерфейс перестраивается, поэтому, в основном, у нас есть
< monday tuesday wednesday thursday friday saturday sunday >
если я нажму стрелку, указывающую влево, я хочу изменить интерфейс, чтобы он выглядел ->
< sunday monday tuesday wednesday thursday friday saturday >
в основном, начните с последнего индекса в массиве
У меня есть следующее
<ul className="weekday">
<li> <FontAwesomeIcon icon="arrow-left" /> </li>
{this.state.weekDays.map(day => <li key={day}> {day} </li>)}
<li onClick={this.handleIncrement}> <FontAwesomeIcon icon="arrow-right" /> </li>
</ul>
здесь я отображаю все дни недели в массиве из дней недели
weekDays: [ 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun' ]
у меня также есть currenyDay:0;
в моем состоянии, под массивом
и как вы можете видеть onClick на стрелке вправо, которая увеличивает текущий день, потому что на стрелке вправо мне нужно увеличить текущий день на 1, функция выглядит как
handleIncrement = () => {
this.state.currentDay = this.state.currentDay +1;
}
однако, это ничего не делает, это не работает вообще, любые идеи почему?
-------------------------- полный код
class Calendar extends Component {
state = {
weekDays: [ 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun' ],
currentDay:0
};
handleIncrement = () => {
this.state.currentDay = this.state.currentDay +1;
}
render() {
return (
<div className="calendar">
<div className="col leftCol">
<div className="content">
<h1 className="date">My React.js Calendar</h1>
</div>
</div>
<div className="col rightCol">
<div className="content">
{/* <div className="clearfix"></div> */}
<ul className="weekday">
<li> <FontAwesomeIcon icon="arrow-left" /> </li>
{this.state.weekDays.map(day => <li key={day}> {day} </li>)}
<li onClick={this.handleIncrement}> <FontAwesomeIcon icon="arrow-right" /> </li>
</ul>
{/* <div className="clearfix"></div> */}
{/* <div className="clearfix"></div> */}
</div>
</div>
{/* <div className="clearfix"></div> */}
</div>
);
}
}
export default Calendar;