Πώς να χρησιμοποιήσετε το υποκείμενο στο Next.js για να αποσυνδέσετε πηγές δεδομένων για διαφορετικές σελίδες
Η Subconnect είναι μια δυνατότητα στο Next.js που σας επιτρέπει να δημιουργήσετε μια ξεχωριστή σύνδεση για μια συγκεκριμένη σελίδα ή σύνολο σελίδων στην εφαρμογή σας. Αυτό μπορεί να είναι χρήσιμο εάν έχετε διαφορετικές πηγές δεδομένων ή API στα οποία πρέπει να έχουν πρόσβαση μόνο συγκεκριμένες σελίδες στην εφαρμογή σας.
Για παράδειγμα, ας υποθέσουμε ότι έχετε ένα ιστολόγιο με δημόσια και ιδιωτικά άρθρα. Μπορεί να θέλετε να χρησιμοποιήσετε μια ξεχωριστή βάση δεδομένων ή API για τα ιδιωτικά άρθρα, αλλά εξακολουθείτε να χρησιμοποιείτε την ίδια βάση δεδομένων ή API για τα δημόσια άρθρα. Με τη δευτερεύουσα σύνδεση, μπορείτε να δημιουργήσετε μια ξεχωριστή σύνδεση για τα ιδιωτικά άρθρα και να τη χρησιμοποιήσετε μόνο όταν ο χρήστης είναι συνδεδεμένος και εξουσιοδοτημένος να δει αυτά τα άρθρα.
Ακολουθεί ένα παράδειγμα του τρόπου με τον οποίο μπορείτε να χρησιμοποιήσετε τη δευτερεύουσα σύνδεση σε μια εφαρμογή Next.js:
```
// pages/api/articles.js
import { NextApiRequest, NextApiResponse } from 'next';
const Articles = () => {
// Αυτό το τελικό σημείο API επιστρέφει όλα τα δημόσια άρθρα
return {
async get() {
const articles = 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: articles };
},
;
};
// pages/index.js
import { useSubconnect } from 'next/subconnect';
const IndexPage = () => {
// Χρησιμοποιήστε τη δευτερεύουσα σύνδεση για να λάβετε τα δημόσια άρθρα
const { data: publicArticles } = useSubconnect( Articles );
// Χρησιμοποιήστε τη δευτερεύουσα σύνδεση για να λάβετε τα ιδιωτικά άρθρα όταν ο χρήστης είναι συνδεδεμένος
const { data: privateArticles } = useSubconnect( PrivateArticles, {
auth: true, // Να επιτρέπεται η πρόσβαση μόνο όταν ο χρήστης είναι συνδεδεμένος
});
επιστροφή (
{publicArticles.map((article) => (
<κλειδί div ={article.id}>{article.title}
))}
{privateArticles.map((article) => (
))}
);
};
```
Σε αυτό το παράδειγμα, τα API «Articles» και «PrivateArticles» ορίζονται ως ξεχωριστές υποσυνδέσεις, καθεμία με τη δική της πηγή δεδομένων και απαιτήσεις ελέγχου ταυτότητας. Το στοιχείο «IndexPage» χρησιμοποιεί το άγκιστρο «useSubconnect» για να ανακτήσει τα δημόσια άρθρα από το «Articles» API και χρησιμοποιεί επίσης το άγκιστρο «useSubconnect» για να ανακτήσει τα ιδιωτικά άρθρα από το «PrivateArticles» API όταν ο χρήστης είναι συνδεδεμένος.
By Χρησιμοποιώντας υποσυνδέσεις με αυτόν τον τρόπο, μπορείτε να αποσυνδέσετε τις πηγές δεδομένων για διαφορετικές σελίδες στην εφαρμογή σας και να τις διαχειριστείτε ανεξάρτητα, ενώ θα εξακολουθείτε να μπορείτε να χρησιμοποιείτε το ίδιο Next.js API και υποδομή απόδοσης σελίδων.



