특정 경로의 캐시를 온디맨드로 무효화하는 함수다. Server Function과 Route Handler에서만 호출할 수 있으며, Client Component와 Proxy에서는 사용할 수 없다.
파라미터
revalidatePath(path: string, type?: 'page' | 'layout'): void
path: 재검증할 경로. /product/123과 같은 리터럴 경로 또는 /product/[slug]와 같은 동적 세그먼트 패턴을 사용할 수 있다. 대소문자를 구분하며 최대 1024자다.type: 'page' 또는 'layout'. 동적 세그먼트가 포함된 경로에서는 필수다. 리터럴 경로에서는 생략한다.무효화 범위
'/', 'layout'): 클라이언트 캐시 전체를 초기화하고 모든 캐시 데이터를 무효화한다.동작 방식
rewrite 사용 시 주의사항
rewrite가 설정된 경우 브라우저에 표시되는 소스 경로가 아닌, 실제 라우트 파일 위치인 대상(destination) 경로를 전달해야 한다. revalidatePath는 URL이 아닌 라우트 파일 구조를 기준으로 동작하기 때문이다.
revalidatePath vs revalidateTag vs updateTag
revalidatePath: 특정 페이지 또는 레이아웃 경로를 무효화한다. 동일한 데이터 태그를 사용하는 다른 페이지에는 영향을 주지 않는다.revalidateTag: 특정 태그가 지정된 데이터를 stale 상태로 표시한다. 해당 태그를 사용하는 모든 페이지에 적용된다.updateTag: 특정 태그가 지정된 데이터를 즉시 만료시킨다. 해당 태그를 사용하는 모든 페이지에 적용된다.특정 페이지와 해당 페이지가 사용하는 데이터 태그를 함께 갱신해야 할 때는 revalidatePath와 updateTag를 조합하여 사용한다.