개발자
Nextjs 14 app router를 사용하고 있습니다. Intercepting Routes와 Parallel Routes를 이용해서 Modal을 불러오고 있습니다. Modal에 진입할때 <Link href={"modal주소"} />를 클릭해서 진입을 하고 있습니다. 이때, Modal에서 Server에 HTTP GET 요청을 보내야하는데, username이나 userpost같은 데이터를 필요로합니다. 저는 <Link href={{pathname:"모달주소",query:{key:value}}}>이렇게 query로 전달하는 방식을 사용하고 있습니다. 하지만, 찾다보니 왠만한 정보는 query로 전달하는 것을 지양하는 것이 좋다해서 무슨 방법으로 전달해야할까 고민입니다. 어떤 방법으로 전달하는것이 가장 좋을까요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 01월 18일
로직이 복잡하지 않다면 query를 통해 전달하는 것보다는, React의 Context API나 Redux 같은 상태 관리 라이브러리를 사용하여 전역 상태를 관리하고 이를 통해 데이터를 전달하는 것이 좋습니다. Context를 설정하여 모든 컴포넌트에서 접근할 수 있도록 하면 어느 위치에서도 데이터에 접근할 수 있습니다. 이 경우, 서버에 HTTP GET 요청을 보낼 때 필요한 정보(username, userpost 등)을 Context에서 가져와서 사용할 수 있습니다. React Context API는 단순하고 작은 어플리케이션에 적합하지만, 규모가 크고 복잡한 앱의 경우 Redux와 같은 라이브러리를 사용하는 것이 좋습니다. Redux는 상태 관리뿐만 아니라 action, reducer 개념을 이용하여 애플리케이션의 상태 변화를 예측 가능하게 만들며, DevTools로 state 변화와 performance 등을 쉽게 체크할 수 있어 디버깅에 용이합니다. 하지만 Next.js에 내장된 Data Fetching 메소드(`getInitialProps` or `getServerSideProps`)나 SWR과 같은 데이터 패칭 라이브러리들을 동시에 사용하는 경우 이들과 함께 Context API와 Redux의 동작 방식을 잘 고려해야합니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!