next streaming

Posted by : on

Category : nextJs   react


streaming

next는 비동기처리를 하여 렌더링이 오래걸리는 컴포넌트에 대해서, 페이지에 빨리 렌더링 할수 있는 부분부터 주고 오래 걸리는 컴포넌트는 준비가 되면 주는 방식인 스트리밍을 가능하게 해준다.

loading.tsx

page.tsx 와 같은 경로에 loading.tsx를 만들고 그 안에 Loading 할때 보여줄 컴포넌트를 만들면 자동 설정 된다.

주의사항

  • loading.tsx는 하위 모든 페이지에서 다 동일하게 스트리밍되게 적용됨
  • async가 붙어서 비동기로 제공되는 컴포는터에서만 적용된다.
  • 페이지 컴포넌트에서만 적용된다.

페이지 말고 그냥 일반 컴포넌트에서도 스트리밍 하고싶다면?

suspense를 사용하면 된다.

이런 suspense는 스켈레톤 ui와 함께 사용하면 참 좋다.

next-streaming.png

위 이미지처럼 뭔가 불러올때 스켈레톤 ui를 적용해주면 된다.

react-loading-skeleton 이라는 npm 라이브러리도 좋다고한다.


About 유재석
유재석

개발자 유재석 입니다. Web Developer.

Email : jaeseok9405@gmail.com

Website : https://github.com/yoo94