Next.js 프로젝트에서 getServerSideProps
를 사용하여 프리렌더 데이터를 보내는 경우가 있습니다.
export const getServerSideProps = async ({ locale, query }) => { return { props: { preFetchedItem: await axios.get('https://example.com/api/get-examples').then(res => res.data), }, }; };
위에서는 preFetchedItem
이라는 prop의 값을 API에서 요청받은 값으로 사용하는 예를 보여줍니다. 이제 preFetchedItem
prop을 페이지 컴포넌트의 prop으로 전달받아 사용할 수 있게 됩니다.
const MyPage = ({ preFetchedItem }) => { return ( <div> {preFetchedItem} </div> ) }
하지만 예상과는 달리 값이 undefined
또는 null
로 표시되는 경우가 있습니다.
해결 방법은 간단합니다. 이 문제는 Next.js 페이지에서 공통으로 사용하는 _app.js
파일의 레이아웃에서 pageProps
라는 이름의 prop을 페이지 컴포넌트에 전달하지 않아서 발생하는 현상입니다.
_app.js
파일을 열고 아래와 같이 pageProps
를 전달한 후 다시 시도하면 문제가 해결 될 것입니다.
const RootApp = ({ Component, pageProps, ...other }) => ( <Component {...other} {...pageProps} /> ); export default RootApp;
Xcode에서 iOS 애플리케이션을 빌드(Archive)하고 App Store Connect에 앱을 업로드하는 도중, 아래와 같은 에러가 발생하면서 더…
INSTALL_FAILED_INSUFFICIENT_STORAGE 문제 안드로이드 스튜디오에서 에뮬레이터를 실행하고 개발중인 애플리케이션을 실행하려 하면 로그 창에 아래와 같이 표시되면서…
리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…
JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…
NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…