Next'in sunucu eylemleriyle, istemcilerden sunucunuza iş boşaltmak kolaydır.

Next.js'nin 13.4 sürümü, kararlı bir Uygulama yönlendiricisi ve sunucu eylemleriyle veri mutasyonu yapma yeteneği ile birlikte geldi. Bu özellik, tamamen sunucu bileşenlerinden veri mutasyonları gerçekleştirmenize izin verdiği için oyunun kurallarını tamamen değiştirir. Bu, hız, güvenlik ve uygulamanın genel performansı gibi alanlarda bir dizi avantaj sağlar.

Sunucu eylemlerinin ne olduğunu ve bu yeni özelliği Next.js uygulamanızda nasıl kullanacağınızı öğrenin.

Sunucu İşlemleri Nelerdir?

Sunucu işlemleri, sunucu bileşenlerinizin hemen yanında bir defaya mahsus sunucu tarafı işlevleri yazmanıza olanak tanır. Bu çok büyük çünkü artık formları gönderirken veya aşağıdakiler de dahil olmak üzere başka herhangi bir veri mutasyonu yaparken API rotaları yazmanıza gerek yok: GraphQL veri mutasyonları.

Sunucunuzda çalışan işlevlere sahip olabilirsiniz ve bunları istemci veya sunucu bileşenlerinden çağırabilirsiniz. Bu, Next.js 13.4'teki bir alfa özelliğidir ve React Actions üzerine kurulmuştur. Sunucu eylemlerini kullanmak, istemci tarafı JavaScript'in azalmasına yol açar ve aşamalı olarak geliştirilmiş formlar oluşturmanıza yardımcı olabilir.

instagram viewer

Sunucu İşlemleri Örneği

Sunucu eylemleri ile, sunucu üzerinde Next.js içinde mutasyonlar gerçekleştirebilirsiniz. Bir gönderi oluşturmanıza olanak tanıyan bir form oluşturan örnek bir Next.js sayfasıyla bu yeni özelliğe bir göz atın.

İşte ithalatlar:

içe aktarmak Bağlantı itibaren"sonraki/bağlantı"
içe aktarmak Gruptan itibaren"@/bileşenler/FormGroup"
içe aktarmak { yeniden doğrulamaTag } itibaren"sonraki/önbellek"
içe aktarmak { yönlendirme } itibaren"sonraki/navigasyon"

Şimdi kodu gönderi oluşturmak için. Bu işlev bir sunucu eylemidir; sunucuda çalışır ve gönderi başlığını ve gövdesini API'ye gönderir (gönderiyi veritabanında oluşturur):

zaman uyumsuzişlevgönderi oluştur(veri) {
"sunucu kullan"
sabit başlık = veri.get("başlık")
sabit gövde = veri.get("vücut")

beklemek gidip getirmek(" http://127.0.0.1/posts", {
başlık: {"İçerik türü": "uygulama/json"},
yöntem: POST,
vücut: JSON.stringify({başlık, gövde})
})

etiketi yeniden doğrulama("gönderiler")
yönlendirme("/")
}

Bu işlev, daha sonra gönderdiği gönderi başlığını ve gövdesini alır. /posts POST isteği aracılığıyla uç nokta. Ardından, önbelleği "posts" etiketiyle ilişkili içeriği yenilemeye zorlar ve ana sayfaya geri yönlendirir.

İşte yeni gönderi başlığını ve gövdesini toplamak için bir form:

ihracatvarsayılan NewPostForm() {
geri dönmek (