일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 토이 프로젝트
- styled component
- 리액트 패턴
- 코어자바스크립트
- JavaScript
- 프로그래머스
- React
- reduxtoolkit
- 타입스크립트
- 토이프로젝트
- 리액트 라우터 돔
- 프론트엔드
- Form
- tailwind
- react pattern
- 리덕스
- React Query
- 코딩테스트
- revalidatepath
- 자바스크립트
- react router dom
- tanstack query
- 스택
- Next.js
- Supabase
- TypeScript
- 그리디
- 동적계획법
- 코테
- 리액트
- Today
- Total
목록revalidatepath (3)
느려도 한걸음씩

이번 포스트에서는 게시물에 찜하기 기능(북마크)을 추가해보겠습니다. 🧱 테이블 설계지난 포스트에서 댓글 기능을 구현할 때 comments 테이블을 새로 만들었던 것처럼, 이번에는 찜하기 데이터를 저장할 likes 테이블을 만들어줍니다. create table likes ( id uuid primary key default gen_random_uuid(), user_id uuid references auth.users(id) not null, post_id uuid references posts(id) not null, created_at timestamp with time zone default now(), unique (user_id, post_id)); user_id는 로그인한 사용자의..
이번 포스트에서는 게시물에 댓글을 조회, 작성, 삭제하는 기능을 구현해보겠습니다. ✅ 댓글 데이터 구조 설계가장 먼저 댓글 데이터를 어떻게 관리할지 고민해야 합니다.저는 Supabase에 별도의 comments 테이블을 만들어 구현하기로 했습니다. create table comments ( id uuid primary key default gen_random_uuid(), post_id uuid references posts(id) on delete cascade, author_id uuid references users(id), email text, content text not null, created_at timestamp with time zone default now()); 댓글에..
이번 포스트에서는 Next.js에서 서버 액션(Server Action)을 이용해 데이터를 추가한 후, 페이지 캐시를 갱신하여 변경 사항이 바로 반영되도록 하는 방법을 살펴보겠습니다. ✅ 문제 상황아래는 사용자가 폼을 제출해 새로운 게시물을 추가하고, /meals 페이지로 리디렉션하는 코드입니다export async function shareMeal(prevState, formData) { "use server"; const meal = { title: formData.get("title"), summary: formData.get("summary"), instructions: formData.get("instructions"), image: formData.get("imag..