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 アプリでサブコネクトを使用する方法の例です。
// pages/api/articles.js
import { NextApiRequest, NextApiResponse } from 'next';

const Articles = () => {
// この API エンドポイントはすべての公開記事を返します
return {
async get() {
constArticles = await fetch('https://my-public-articles.com/api/articles');
return { data:articles };
},
};
};

//pages/api/private-articles。 js
import { NextApiRequest, NextApiResponse } from 'next';

const PrivateArticles = () => {
// この API エンドポイントはすべてのプライベート記事を返します
return {
async get() {
const Articles = await fetch('https://my -private-articles.com/api/articles');
return { data:article };
},
};
};

//pages/index.js
import { useSubconnect } from 'next/subconnect';

const IndexPage = () => {
// サブ接続を使用して公開記事を取得します
const { data: publicArticles } = useSubconnect( Articles );

// ユーザーがログインしているときにサブ接続を使用して非公開記事を取得します
const { data: privateArticles } = useSubconnect( PrivateArticles, {
auth: true, // ユーザーがログインしている場合にのみアクセスを許可します
});

return (


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

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

);
};
```
この例では、`Articles` API と `PrivateArticles` API が個別のサブ接続として定義されており、それぞれに独自のデータ ソースと認証要件があります。 `IndexPage` コンポーネントは、`useSubconnect` フックを使用して `Articles` API から公開記事を取得し、また、ユーザーがログインしているときに `useSubconnect` フックを使用して `PrivateArticles` API から非公開記事を取得します。このようにサブコネクトを使用すると、同じ Next.js API とページ レンダリング インフラストラクチャを使用したまま、アプリ内のさまざまなページのデータ ソースを分離して個別に管理できます。

Knowway.org は、より良いサービスを提供するために Cookie を使用しています。 Knowway.org を使用することにより、Cookie の使用に同意したことになります。 詳細については、Cookie ポリシー テキストをご覧ください。 close-policy