게시판 리스트 만들때 어디부터 use client를 적용할 지 모르겠어요
135
投稿した質問数 22
<리스트>
<레코드1/>
<레코드2/>
</리스트>
일 경우…
리스트단에서 use client로 한 후 zustand에서 리스트 자체를 통으로 관리해야하는가?
각각의 레코드에 use client를 한 후 데이터를 받으면 zustand에 리스트를 만들어 레코드별로 hash(Map)으로 등록해 관리해야하는가?
레코드에는 좋아요, 조회수 등이 표시됨.
제 생각은
1번은 SEO가 중요한건 각각 레코드 (상세페이지) 이므로 zustand에서 통으로 넣어 관리하면 되니 구현 및 데이터 신뢰도에서는 나아보이는데 하나바뀌면 전부 렌더링되니까 애매한거같고
2번은 서버에서 모두 다 가져와서 초기속도는 빠르고 seo에 좋으나 zustand에 통으로 못넣고 데이터 자체를 내가 직접관리하는 구조라 구현 및 데이터 신뢰 측면에서는 골치아플거같은데…
무엇이 일반적인 구현방식인지 모르겠습니다.
도와주세요 ㅠㅠ
回答 1
0
어떻게 답변을 드려야 좋을지를 고민하느라 답이 늦었습니다.
우선 먼저 말씀드리고 싶은 것은, 대부분의 고민 되는 문제에는 정답이 없다는 것입니다.
그렇기 때문에, 다양한 관점에서 문제를 바라보고, 여러 가지 해결책을 모색하는 것이 중요합니다.
질문 내용을 보면, 직접 말씀하신 두 안에 따라 작성해 보신 다음 비교해보는 데에 큰 노력이 필요한 것은 아닌 듯 합니다.
만약 프로젝트의 규모가 크고 복잡해서 두 안을 테스트 하기가 어렵다면, 작은 프로토타입을 만들어서 두 가지 접근 방식을 시도해 보는 것도 좋은 방법입니다.
이를 통해 질문자님의 '생각', 즉 '추정'이 참인지 아닌지를 검증해볼 수 있을 것입니다.
제 생각에는 1안에 따라 zustand에서 '통으로' 관리한다고 해서 반드시 '하나가 바뀌면 전부 렌더링된다'는 결론이 나올 것 같지 않습니다.
반면 2안에 따르더라도 zustand에 통으로 넣지 못한다는 것도, 질문 주신 프로젝트의 구체적인 코드 상황을 보지 않은 저로서는 반드시 그런지 알 수가 없네요.
그렇기 때문에, 두 가지 접근 방식을 모두 시도해 보고, 실제로 어떤 방식이 더 효율적인지 확인해 보시는 것이 좋겠다는, 다소 원론적인 답변밖에 드릴 수 없을 것 같습니다.
저는 제법 오랜 기간 개발 일을 하고 있는 일개 개발자일 뿐이어서,
"일반적인 구현 방식은 이렇다"라고 단정할 만큼 개발 업계 전반의 개발 방식을 두루 파악하고 있지 않으며,
세상 어느 누구도 그렇게 할 수는 없다고 생각합니다.
그렇기 때문에, 질문자님께서도 본인의 프로젝트에 가장 적합한 방법을 찾아가는 과정이 중요하다고 생각합니다.
다만 말씀하신 '일반적인 구현방식'이 보편적인 개발 패턴이나 트렌드를 의미한다면,
제가 생각하는 일반적인 목록 구현 방식은 다음과 같습니다.
서버에서 목록 데이터를 한 벌로 가져와서 사용합니다. zustand로 상태를 관리할 수도 있고, 서버 상태 관리(예: react-query, SWR 등)를 사용할 수도 있습니다.
목록의 각 항목 내용이 실시간으로 자주 변경되는 경우, 각 항목에 대한 네트워크 요청을 별도로 관리하여, 변경이 필요한 항목만 업데이트합니다.
SEO나 서버 사이드 렌더링, 초기 렌더링 속도 및 렌더링 대상의 최적화는 위 내용과는 별도의 이슈입니다.
강의 난이도에대해서
0
104
1
강의자료 관련 질문
0
64
2
강의 연장관련
0
174
2
Tooltip-useSyncExternalStore()에 함수 넘기는 방식에 대해...
0
222
3
textarea 에서 body 무한깜빡현성 질문 드립니다.
0
132
2
닫힌 상태에서 문자열은 찾아지는데 열리진 않아요
0
146
2
scrollSpy 바닐라버전에서 data-index를 찾는 코드 질문
0
128
2
[#보일러플레이트 코드 사용법 문의] 강의자료[보일러플레이트] 사용법에 대해서 문의 드려요
0
318
2
무한스크롤 리액트버전 | 16분 31초
0
176
2
강의자료 github link 404 빈페이지
0
263
2
아코디언 (3/6) css transition 추가 부분 max-height 질문
1
417
2
강의 정리에 대한 블로그 정리 글 게시 문의
0
301
1
[아코디언 1/6 챕터] 클로저 활용 질문 있습니다.
2
444
2
item7 style이 강의자료에 없습니다.
0
291
1
이벤트 핸들러가 Root에 모이면
0
304
1
append와 insertAdjacentElement 차이가 무엇일까요?
0
324
1
아코디언 1/6 강좌 클로져 관련 질문입니다.
0
380
1
gnb 만들기를 실무 next js 프로젝트에서 사용할수 있나요?
1
614
2
학습자료 관련해서 질문있습니다.
0
550
1
무한스크롤 강의 관련 질문입니다.
0
311
1
반응형 TextBox 질문입니다.
0
478
1
Tooltip의 useStyleInView 훅 질문입니다.
0
253
1
이벤트에 대한 타입을 지정할 때 궁금한 점이 있습니다.
0
313
1
gnb 를 이렇게 수정해 봤어여
0
640
1

