inflearn logo
강의

Course

Instructor

Diving into Next.js: From a "Developer Who Can Use It" to a "Developer Who Understands It"

When would template.tsx be needed?

template.tsx 에서 서버 fetch 후 클라이언트 컴포넌트로 넘겨주면 싱크가 맞는 이유

Resolved

89

dogmnil20074517

15 asked

1

아래 코드와 같이 template.tsx에서 서버fetch 후 사용처인 클라이언트 컴포넌트로 props 넘겨주도록 세팅해놓았습니다.

 


//template.tsx 자식 컴포넌트
export default async function Sidebar() { 

const { isSucceed, body } = await getUserGetInfo(params);

return (
    <SidebarLayout>
      <GiftIcon isNewGift={!!body?.info.new_gift} />

'use client'

export default function GiftIcon({ isNewGift }: { isNewGift: boolean }) {
const { onClose } = useModal('SIDEBAR');

return (
<Link
className={isNewGift ? cn(st['active']) : ''}
///
 <Icon type="Present" title="선물함" w={25} h={25} />

 

이 상태에서 next 페이지 이동 시 서버fetch는 리렌더링 되는것을 확인했는데

이상하게 클라이언트는 리렌더링이 되지 않습니다. 즉 서버 응답값은 상태가 바뀌어도 클라이언트 상태값은 바뀌지 않더라구요... 왜 이런걸까요ㅠㅠㅠ

 

 

 

react typescript next.js

Answer 1

0

Boaz

이런 경우 문제 원인이 다양할 수 있어서요.

혹시 클라이언트 라우팅이 route segment 는 그대로이고, searchParams 가 바뀌는 형식일까요?
(예를 들어 /gift-item -> /gift-list 의 이동이 아닌, /gift-item?id=1 -> /gift-item?id=2 처럼요)

만약 위와 같은 이동(searchParams 만 바뀜)이라면 template.tsx 도 리렌더링이 발생하지 않아서 여쭤봅니다 🙏

1

dogmnil20074517

아 제가 착각했습니다. 정상적으로 클라이언트 상태값 읽는거 확인했습니다😅

 

답변 감사합니다!!

클로드코드 유료플랜 할인 방법이 있을까요?

0

15

0

제네릭 클래스 핸드북 페이지가 undefined라고 나옵니다.

0

7

1

API Error : 400 에러의 원인과 해결방법이 궁금합니다!!

0

15

2

퍼미션 권한 설정 문의

0

17

2

Next.js + Tanstack Query BFF 구조 질문

0

10

1

커서에서 shift+enter가 안됩니다.

0

18

2

template 동작 흐름에 대해서 질문 있습니다.

1

70

1

Link 컴포넌트는 그러면 웬만하면 무조건 쓰는편이 좋은가요?

0

82

2

middleware.ts가 proxy.ts로 변경되고 실행 시점도 바뀌었다네요

1

243

2

PPR을 보고 오라고 하시는데

1

82

2

useInfiniteQuery promise와 react use 사용시 페이지 무한 로딩

0

59

1

강의에 언급된 영상 질문

0

70

2

next Request Memoization과 react cache

0

80

1

next.js 서버fetch 에러 fallback ui 구현 방법

0

197

2

필터옵션이 많은 페이지에서도 서버 fetch를 사용하는게 맞을까요??

0

88

2

서버 fetch suspense 로 감싸고 새로고침 시 잠시 빈 화면이 노출된 후 fallback ui가 노출됩니다.

0

82

1

layout 컴포넌트 내 클라이언트 컴포넌트

0

84

2

게시판 리스트 작성할 때 use client를 어디서부터 붙여야할지 모르겠어요

0

89

1

'왜 Next.js 가 필요할까?(기술적인 등장 배경)' 에서 언급하는 영상들이 무엇일까요?

0

149

2

Parallel Route를 사용한 모달에 대해 질문이 있어요.

0

112

2

유튜브 영상과의 차이점 문의

0

235

1

template.tsx 가 SEO 에 주는 이점에 대한 질문

0

104

2

자동화 스크립트 관련하여 질문있습니다.

0

109

2

색션1 예제 코드 질문드립니다.

0

208

1