Incorrect nesting of HTML tags

YEONGHUN KO·2024년 11월 6일
0

NEXJS - MINIPROJECTS

목록 보기
6/6
post-thumbnail

DayPicker를 사용하던 도중 button이 div안에 들어갈 수 없다고 계속 경고 문구가 떴다.

hydration과정에서 서버와 클라이언트 사이에 랜더링되는 최종 dom tree가 달라서 생기는 문제. 이럴때는 서버에서 아예 랜더링하지 않게 하는 법이 있다.

export default function CalendarComponent() {
  const [isClient, setIsClient] = useState(false);

  useEffect(() => {
    setIsClient(true);
  }, []);

  if (!isClient) return null; // 서버에서는 아무것도 렌더링하지 않음

  return (
    <DayPicker
      onDayClick={(date, modifiers) => {
        if (modifiers.hasEvent) {
          alert(`${date}`);
        }
      }}
      // 다른 props들
    />
  );
}
profile
'과연 이게 최선일까?' 끊임없이 생각하기

0개의 댓글