Η μεταφόρτωση εργασίας από πελάτες στον διακομιστή σας είναι εύκολη με τις ενέργειες διακομιστή του Next.

Η έκδοση 13.4 του Next.js συνοδεύτηκε από έναν σταθερό δρομολογητή εφαρμογής και τη δυνατότητα μετάλλαξης δεδομένων με ενέργειες διακομιστή. Αυτή η δυνατότητα είναι μια απόλυτη αλλαγή παιχνιδιών, επειδή σας επιτρέπει να εκτελείτε μεταλλάξεις δεδομένων εξ ολοκλήρου από στοιχεία διακομιστή. Αυτό επιφέρει μια σειρά από οφέλη σε τομείς όπως η ταχύτητα, η ασφάλεια και η συνολική απόδοση της εφαρμογής.

Μάθετε ποιες είναι οι ενέργειες διακομιστή και πώς να χρησιμοποιήσετε αυτήν τη νέα δυνατότητα στην εφαρμογή Next.js.

Τι είναι οι ενέργειες διακομιστή;

Οι ενέργειες διακομιστή σάς επιτρέπουν να γράψετε μεμονωμένες λειτουργίες από την πλευρά του διακομιστή δίπλα στα στοιχεία του διακομιστή σας. Αυτό είναι τεράστιο επειδή δεν χρειάζεται πλέον να γράφετε διαδρομές API όταν υποβάλλετε φόρμες ή κάνετε οποιοδήποτε άλλο είδος μετάλλαξης δεδομένων, συμπεριλαμβανομένων Μεταλλάξεις δεδομένων GraphQL.

Μπορείτε να έχετε λειτουργίες που εκτελούνται στον διακομιστή σας και, στη συνέχεια, μπορείτε να τις καλέσετε από στοιχεία πελάτη ή διακομιστή. Αυτή είναι μια δυνατότητα άλφα στο Next.js 13.4 και είναι χτισμένη πάνω από το React Actions. Η χρήση ενεργειών διακομιστή οδηγεί σε μειωμένη JavaScript από την πλευρά του πελάτη και μπορεί να σας βοηθήσει να δημιουργήσετε προοδευτικά βελτιωμένες φόρμες.

instagram viewer

Παράδειγμα ενεργειών διακομιστή

Με τις ενέργειες διακομιστή, μπορείτε να εκτελέσετε μεταλλάξεις στο Next.js, στον διακομιστή. Ρίξτε μια ματιά σε αυτή τη νέα δυνατότητα με ένα παράδειγμα σελίδας Next.js που αποδίδει μια φόρμα που σας επιτρέπει να δημιουργήσετε μια ανάρτηση.

Εδώ είναι οι εισαγωγές:

εισαγωγή Σύνδεσμος από"επόμενο/σύνδεσμος"
εισαγωγή FormGroup από"@/components/FormGroup"
εισαγωγή { revalidateTag } από"επόμενο/κρυφή μνήμη"
εισαγωγή { ανακατεύθυνση } από"επόμενο/πλοήγηση"

Τώρα για τον κώδικα για τη δημιουργία της ανάρτησης. Αυτή η λειτουργία είναι μια ενέργεια διακομιστή. εκτελείται στον διακομιστή και στέλνει τον τίτλο και το σώμα της ανάρτησης στο API (το οποίο δημιουργεί τη δημοσίευση στη βάση δεδομένων):

ασυγχρονισμόςλειτουργίαcreatePost(δεδομένα) {
"χρήση διακομιστή"
συνθ τίτλος = data.get("τίτλος")
συνθ body = data.get("σώμα")

αναμένω φέρω(" http://127.0.0.1/posts", {
κεφαλίδα: {"Τύπος περιεχομένου": "application/json"},
μέθοδος: POST,
σώμα: JSON.stringify({τίτλος, σώμα})
})

revalidateTag("αναρτήσεις")
διευθύνω πάλιν("/")
}

Αυτή η συνάρτηση λαμβάνει τον τίτλο και το σώμα της ανάρτησης που στη συνέχεια στέλνει στο /posts τελικό σημείο μέσω αιτήματος POST. Στη συνέχεια, αναγκάζει τη μνήμη cache να ανανεώσει το περιεχόμενο που σχετίζεται με την ετικέτα "posts" και ανακατευθύνει πίσω στην αρχική σελίδα.

Ακολουθεί μια φόρμα για τη συλλογή του τίτλου και του σώματος της νέας ανάρτησης:

εξαγωγήΠροκαθορισμένο NewPostForm() {
ΕΠΙΣΤΡΟΦΗ (