사용자 정의 날짜 셀

GridDay 렌더 프롭을 사용하여 각 날짜가 렌더링되는 방식을 사용자 정의할 수 있습니다. 이를 통해 개별 날짜 셀에 이벤트 표시기, 사용자 정의 스타일 또는 기타 추가 콘텐츠를 추가할 수 있습니다.

import { useState } from "react";
import { DatePicker } from "react-date-range-picker-tailwind4";
const eventDates = new Set([5, 12, 18, 25]);
function CompoundCustomDay() {
const [value, setValue] = useState<Date | null>(null);
return (
<DatePicker.Root value={value} onChange={setValue} inline>
<DatePicker.Content>
<DatePicker.Header>
<DatePicker.PrevButton />
<DatePicker.Title />
<DatePicker.NextButton />
</DatePicker.Header>
<DatePicker.Grid>
{({ date }) => (
<DatePicker.Day date={date}>
{({ day, isDisabled, isSelected, isToday, onClick, onMouseEnter, onMouseLeave }) => (
<button
type="button"
onClick={onClick}
onMouseEnter={onMouseEnter}
onMouseLeave={onMouseLeave}
disabled={isDisabled}
style={{
display: "flex",
flexDirection: "column",
alignItems: "center",
justifyContent: "center",
width: 36,
height: 36,
border: "none",
borderRadius: 6,
cursor: isDisabled ? "default" : "pointer",
background: isSelected ? "#3b82f6" : "transparent",
color: isSelected ? "#fff" : isToday ? "#2563eb" : undefined,
fontWeight: isToday || isSelected ? 600 : 400,
fontSize: 13,
position: "relative",
}}
>
{day}
{eventDates.has(date.getDate()) && (
<span
style={{
position: "absolute",
bottom: 2,
width: 4,
height: 4,
borderRadius: "50%",
background: isSelected ? "#fff" : "#f59e0b",
}}
/>
)}
</button>
)}
</DatePicker.Day>
)}
</DatePicker.Grid>
</DatePicker.Content>
</DatePicker.Root>
);
}
March 2026
Su
Mo
Tu
We
Th
Fr
Sa

Day 렌더 프롭

PropTypeDescription
dateDate날짜 객체
daynumber해당 월의 날짜 (1-31)
isTodayboolean오늘 날짜인지 여부
isSelectedboolean이 날짜가 선택되었는지 여부
isDisabledboolean이 날짜가 비활성화되었는지 여부
isInRangeboolean이 날짜가 선택된 범위 내에 있는지 여부
isRangeStartboolean범위의 시작 날짜인지 여부
isRangeEndboolean범위의 종료 날짜인지 여부
isInHoverRangeboolean이 날짜가 호버 미리보기 범위 내에 있는지 여부
isHoverTargetboolean호버의 끝점인지 여부
isOutsideDayboolean이 날짜가 인접한 월에 속하는지 여부
isHighlightedboolean이 날짜에 하이라이트 점이 있는지 여부
isFocusedboolean이 날짜에 키보드 포커스가 있는지 여부
onClick() => void클릭 핸들러
onMouseEnter() => void마우스 진입 핸들러
onMouseLeave() => void마우스 이탈 핸들러