script components는 HTML script 태그 익스텐션이고 서드파티 스크립트를 상황에 따라서 next 어플리케이션에서 어디에서든 사용할 수 있게 해주는 컴포넌트이다. 로딩 전략을 잘 활용해서 사용할 수 있다. 스크립트 컴포넌트에는 5가지 Props이 있는데 strategy
, onLoad
, onReady
, onError
, src
가 있다. 당연히 src
는 필수고 나머지는 선택옵션이다.
onLoad는 서버 컴포넌트가 아닌 클라이언트 컴포넌트에서만 사용할 수 있다. onLoad는 beforeInterective와 사용할 수 없고 대신 onReady를 사용하는 것을 권장한다.
일부 서드 파티 스크립트는 콘텐츠를 인스턴스화하거나 함수를 호출하기 위해 스크립트 로딩 후에 사용자가 JavaScript 코드를 한번만 실행할때 onLoad를 사용할 수 있다.. afterInteractive 또는 lazyOnload로 스크립트를 로드하는 경우, onLoad 속성을 사용하여 로드된 후에 코드를 실행할 수 있다.
일부 서드 파티 스크립트는 사용자가 스크립트가 로드 되었을 때 컴포넌트가 마운트 될때마다 자바스크립트 코드를 매번 실행해야 할 때 onReady를 사용할 수 있다.
onError는 현재 서버 컴포넌트에서 작동하지 않으며, 클라이언트 컴포넌트에서만 사용할 수 있다. onError는 beforeInteractive 로딩 전략과 함께 사용할 수 없다.
스크립트 로딩이 실패할 때 onError를 사용하면 유리할 수 있다.