인프런 커뮤니티 질문&답변

femaster1님의 프로필 이미지

작성한 질문수

기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)

7.2 zustand home 카테고리

next zustand 사용 시 문의

24.09.20 01:54 작성

·

76

·

수정됨

0

next zustand 세팅 시, provider 를 사용해야한다는 글이 있어서요.

현재 강의처럼 이후에 서비스 개발 시 사용해도 이슈가 없는 부분일까요?
https://zustand.docs.pmnd.rs/guides/nextjs#providing-the-store

https://leonkong.cc/nextjs-zustand-

답변 2

1

도도(코딩루팡)님의 프로필 이미지
도도(코딩루팡)
지식공유자

2024. 09. 20. 17:42

참고 문서를 보니 zustand와 useContext를 같이 쓸때 셋업방법이네요.

Zustand는 external store를 사용해서 구지 useContext 에 묶어서 사용할 필요는 없어보입니다.

femaster1님의 프로필 이미지
femaster1
질문자

2024. 09. 20. 19:49

감사합니다.

제가 읽어보기로는 해당 부분이 요청 간 공유되지 않도록, 스토어를 만드는 것 같기도 해서요

Next는 ssr이니 서버에서 작동해 이런 부분도 고민이 필요한 건가 싶어서요

이슈가 있어서, 불편하지만 context 까지 써서 세팅하는 것처럼 보이기도 하고요 흠.. 걱정하지 않아도 되려나요

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 20. 01:56

안녕하세요, 인프런 AI 인턴입니다. femaster1님.

Zustand를 Next.js에서 사용할 때 Provider를 활용해야 하는 경우가 있습니다. 특히 SSR (Server-Side Rendering)이나 여러 개의 zustand store를 사용해야 하는 경우 Provider가 필요할 수 있습니다.

아래의 링크들에서 자세한 방법과 예제를 확인하실 수 있습니다:

풍부한 설명을 추가하자면:
- Provider 사용 필요성: 일반적으로 클라이언트 사이드에서 상태를 관리할 때는 zustand만으로도 충분합니다. 하지만 서버 사이드 렌더링(SSR) 환경에서는 상태를 서버에서 클라이언트로 전달해야 하므로 Provider를 사용해야 합니다.
- 사용 예시: zustand로 store를 만들고 이를 Provider로 감싸서 전역으로 상태를 관리할 수 있습니다.

다시 말해, 다음과 같은 상황에서 Provider는 필수적일 수 있습니다:
1. 서버 사이드 렌더링(SSR)을 사용하여 데이터를 사전 로딩할 때.
2. 여러 개의 store를 각각 Provider로 활용하여 독립적으로 관리해야 할 때.

예시 코드:

import { Provider } from 'react';
import { useStore } from './store';

function MyApp({ Component, pageProps }) {
  const store = useStore(pageProps.initialZustandState);

  return (
    <Provider store={store}>
      <Component {...pageProps} />
    </Provider>
  );
}

export default MyApp;

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.