커스텀 날짜 셀

Day 컴포넌트의 렌더 프롭(render prop)을 사용하여 각 날짜 셀을 커스터마이징하세요. 이는 이벤트 표시기를 추가하거나, 날짜 속성에 기반한 커스텀 스타일을 적용하거나, 날짜 렌더링을 완전히 대체할 때 유용합니다.

import { useState } from "react";
import { DatePicker } from "react-date-range-picker-tailwind3";
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 렌더 프롭스

PropType설명
dateDate날짜 객체
daynumber일 (1-31)
isTodayboolean오늘인지 여부
isSelectedboolean선택된 날짜인지 여부
isDisabledboolean비활성화된 날짜인지 여부
isInRangeboolean선택된 범위 내에 있는지 여부
isRangeStartboolean범위의 시작인지 여부
isRangeEndboolean범위의 끝인지 여부
isInHoverRangeboolean호버 프리뷰 범위 내에 있는지 여부
isHoverTargetboolean호버 끝점인지 여부
isOutsideDayboolean인접한 달에 속한 날짜인지 여부
isHighlightedboolean하이라이트 점이 있는지 여부
isFocusedboolean키보드 포커스가 있는지 여부
onClick() => void클릭 핸들러
onMouseEnter() => void마우스 엔터 핸들러
onMouseLeave() => void마우스 리브 핸들러