mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question 무작위의
speech play
speech pause
speech stop

Next.js에서 하위 연결을 사용하여 여러 페이지의 데이터 소스를 분리하는 방법

하위 연결은 애플리케이션 내의 특정 페이지 또는 페이지 집합에 대해 별도의 연결을 생성할 수 있는 Next.js의 기능입니다. 이는 앱의 특정 페이지에서만 액세스해야 하는 다양한 데이터 소스나 API가 있는 경우 유용할 수 있습니다.

예를 들어 공개 기사와 비공개 기사가 모두 포함된 블로그가 있다고 가정해 보겠습니다. 비공개 기사에는 별도의 데이터베이스나 API를 사용하고 공개 기사에는 동일한 데이터베이스나 API를 사용할 수 있습니다. 하위 연결을 사용하면 비공개 기사에 대해 별도의 연결을 생성하고 사용자가 로그인하고 해당 기사를 볼 수 있는 권한이 있는 경우에만 사용할 수 있습니다.

다음은 Next.js 앱에서 하위 연결을 사용할 수 있는 방법에 대한 예입니다.
// 페이지/api/articles.js
import { NextApiRequest, NextApiResponse } from 'next';

const Articles = () => {
// 이 API 엔드포인트는 모든 공개 기사를 반환합니다. return {
async get() {
const 기사 = fetch('https://my-public-articles.com/api/articles');
반환 { 데이터: 기사 };
},
};
};

// 페이지/api/private-articles. js
import { NextApiRequest, NextApiResponse } from 'next';

const PrivateArticles = () => {
// 이 API 엔드포인트는 모든 비공개 기사를 반환합니다
return {
async get() {
const 기사 = wait fetch('https://my -private-articles.com/api/articles');
return { 데이터: 기사 };
},
};
};

// 페이지/index.js
import { useSubconnect } from 'next/subconnect';

const IndexPage = () => {
// 하위 연결을 사용하여 공개 기사를 가져옵니다. const { data: publicArticles } = useSubconnect( 기사 );

// 사용자가 로그인할 때 하위 연결을 사용하여 비공개 기사를 가져옵니다. const { data: privateArticles } = useSubconnect( PrivateArticles, {
auth: true, // 사용자가 로그인한 경우에만 액세스 허용
});

return (


{publicArticles.map((article) => (
{article.title}

))}
{privateArticles.map((article) => (
{article.title}
))}

);
};
```
이 예에서 `Articles` 및 `PrivateArticles` API는 각각 고유한 데이터 소스 및 인증 요구 사항이 있는 별도의 하위 연결로 정의됩니다. `IndexPage` 구성 요소는 `useSubconnect` 후크를 사용하여 `Articles` API에서 공개 기사를 가져오고, 사용자가 로그인할 때 `useSubconnect` 후크를 사용하여 `PrivateArticles` API에서 비공개 기사를 가져옵니다.

By 이러한 방식으로 하위 연결을 사용하면 동일한 Next.js API 및 페이지 렌더링 인프라를 계속 사용하면서 앱의 다양한 페이지에 대한 데이터 소스를 분리하고 독립적으로 관리할 수 있습니다.

Knowway.org는 더 나은 서비스를 제공하기 위해 쿠키를 사용합니다. Knowway.org를 사용하면 쿠키 사용에 동의하는 것입니다. 자세한 내용은 쿠키 정책 텍스트를 참조하세요. close-policy