끄적이는 개발노트
react-day-picker 본문
728x90
이번 포스트에서는 달력을 만들고 일자 선택이 가능한 react-day-picker npm에 대해 알아본다.
import { useState } from "react";
import DayPicker from "react-day-picker";
import "react-day-picker/lib/style.css";
const Calendar = () => {
const [day, setDay] = useState(new Date()); // 날짜 state
const [schedule, setSchedule] = useState(
`${new Date().toLocaleDateString()} 일정`
);
const modifiers = {
toDay: new Date(),
selectDay: day,
};
const modifiersStyles = {
toDay: {
color: "white",
backgroundColor: "red",
},
selectDay: {
border: "1.5px solid red",
boxSizing: "border-box",
},
};
// 날짜 클릭 이벤트
const handleDayClick = (day: any) => {
setDay(day);
setSchedule(`${day.toLocaleDateString()} 일정`);
};
return (
<div>
<DayPicker
onDayClick={handleDayClick}
modifiers={modifiers}
modifiersStyles={modifiersStyles}
/>
<p>{schedule}</p>
</div>
);
};
export default Calendar;
- day와 schedule에 해당하는 state를 선언한다.
- modifiers를 통해 오늘 날짜(new Date())와 선택 날짜(day)를 설정한다.
- modifiersStyles를 통해 오늘 날짜, 선택 날짜에 대한 css를 설정한다.
- day와 schedule state를 변경하는 handleDayClick 함수를 생성한다.
- import한 DayPicker를 return하고 그 안에 설정한 값과 함수를 매칭한다.
실행해보면 다음과 같이 달력이 생성되고 오늘 날짜와 선택 날짜가 표시되는 것을 볼 수 있다.
아래 텍스트에는 선택 날짜에 따른 schedule 값이 출력된다.
728x90
'JavaScript > React.js' 카테고리의 다른 글
react-modal (0) | 2023.02.01 |
---|---|
useInterval을 활용한 타이머 기능 만들기 (0) | 2023.02.01 |
react-hook-form 사용법(2) (0) | 2022.01.27 |
react-hook-form 사용법(1) (0) | 2021.11.22 |
React.js 기본 사용법(6) - 리스트와 key (0) | 2021.11.19 |