inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[인프런 워밍업 클럽 3기] 풀스택 과정 3주차 발자국 👣

Yang HyeonBin
0

어느새 3주차다!

느낀점은, 혼자 강의를 신청했으면 절대 이만큼 못왔을 거란 거다. 스터디에 참여했기에 강제성이 있어 이만큼 올 수 있었다.

일하면서 강의를 듣는다는게 시간도 체력도 많이 필요한 일임을 느꼈다.

다행인 점은 과제가 그렇게 많이 어렵진 않아서 다행히도 주말만 투자해서도 해낼 수 있다는 것..!

마지막 주는 좀 더 빡셀지 모르겠으나,, 이번 주 공부한 내용을 정리해본다.

 

깃허브 링크

 

결과물 이미지!

imageimageimage

 

이슈 해결

1. 초기 세팅 후 npm install, npm run dev 다시 하기

2. Recoil과 최신 React 버전 충돌 문제

Error: Cannot destructure property 'ReactCurrentDispatcher' of 'react__WEBPACK_IMPORTED_MODULE_0___default(...).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED' as it is undefined.

3. 무한 스크롤 - 새 데이터 불러오고 스크롤 위치 초기화되는 문제

4. 검색 - 대소문자 구분 없이 검색 및 로딩 인디케이터 제거

 

새로운 정보

1. 무한스크롤 구현

1) React-Intersection-Observer 라이브러리 (useInView 훅)

2) React-Query의 useInfiniteQuery

2. Next.js - 페이지별 메타데이터 생성: generateMetadata

// movies/[id]/page.tsx 상단에 정의

// 각 영화 페이지에 맞는 동적인 메타데이터를 생성
export async function generateMetadata({params}: {
    params: { id: string };
}) {
		// 사용할 데이터 패치
    const movie = await getMovieById({
        movieId: Number(params.id),
    });
    
    return {
        title: movie?.title || "",
        description: movie?.overview || "",

        // 메타데이터를 위한 이미지 URL - og이미지. 사이트 url 공유 시 보이는 이미지임
        openGraph: {
            images: [movie?.image_url || ""],
        },
    };
}

export default function MovieDetail({
// 후략...

미션

Notflix Clone 프로젝트에 "찜하기" 기능을 추가하세요. • 사용자가 특정 영화를 "찜"할 수 있도록 Supabase를 활용해 즐겨찾기 리스트 구현 찜한 영화를 영화 리스트 화면의 최상단으로 보여주도록 정렬

  1. 찜하기 기능 추가 - movie 테이블에 favorited row 추가, boolean 타입으로

  2. 최상단 보여주기 - 데이터 조회 코드를 수정

    • 찜한 데이터를 먼저 불러오고, 그외의 데이터를 불러오도록 수정?

1. 찜하기 update 처리 후 movies 리스트 순서가 바뀌는 문제

2. 찜한 데이터 리스트 따로 조회 및 보여주기

웹 개발 웹개발 Next.js Supabase

답변 0