6 puan yazan xguru 2024-09-06 | 3 yorum | WhatsApp'ta paylaş
  • Bu minör sürüm, dahili iyileştirmeler ve kullanışlı yeni özellikler içeriyor; uyumluluğu bozan değişiklik yok.

Reactivity sistemi optimizasyonu

  • Vue'nun reaktif sistemi büyük ölçüde yeniden düzenlendi; performans artırıldı ve bellek kullanımı iyileştirildi (-56%), ancak davranışta bir değişiklik yok.
  • Bu yeniden düzenleme, SSR sırasında hesaplanan değerler ve bellekle ilgili sorunları çözüyor.
  • 3.5'te büyük ve derin reaktif diziler için reaktivite takibi optimize edildi; bazı durumlarda 10 kata kadar daha hızlı.

Reactive Props Destructure

  • Reactive Props Destructure, 3.5 ile kararlı hale geldi ve varsayılan olarak etkinleştirildi.
  • <script setup> içinde defineProps çağrısından destructure edilen değişkenler artık reaktif.
  • Bu özellik, JavaScript'in varsayılan değer sözdizimini kullanarak varsayılan değeri olan props'ları tanımlamayı büyük ölçüde basitleştiriyor.

SSR iyileştirmeleri

Lazy Hydration

  • Asenkron bileşenler artık defineAsyncComponent() API'sindeki hydrate seçeneğiyle bir strateji belirleyerek hydration zamanını kontrol edebiliyor.

useId()

  • useId(), sunucu ve istemci render'ında tutarlı şekilde garanti edilen, uygulama başına benzersiz ID'ler üretmek için kullanılabilen bir API.
  • Form öğeleri ve erişilebilirlik öznitelikleri için ID üretmekte kullanılabilir; hydration uyumsuzluğu olmadan SSR uygulamalarında kullanılabilir.

data-allow-mismatch

  • İstemci değerinin sunucu değerinden kaçınılmaz olarak farklı olacağı durumlarda (ör. tarih), data-allow-mismatch özniteliğiyle hydration uyumsuzluğu uyarıları bastırılabilir.
  • İzin verilen uyumsuzluk türlerini sınırlamak için özniteliğe bir değer de verilebilir (text, children, class, style, attribute).

Custom element iyileştirmeleri

  • 3.5, defineCustomElement() API'siyle ilgili uzun süredir devam eden birçok sorunu gideriyor ve Vue ile custom element yazmak için çeşitli yeni özellikler ekliyor.
  • configureApp seçeneği aracılığıyla custom element'ler için uygulama yapılandırması desteği sunuluyor.
  • useHost(), useShadowRoot() ve this.$host API'leri eklenerek custom element'in host öğesine ve shadow root'una erişim sağlanıyor.
  • shadowRoot: false geçirilerek Shadow DOM olmadan custom element mount etmeyi destekliyor.
  • nonce seçeneği desteği sunuluyor; bu değer, custom element tarafından eklenen <style> etiketine iliştiriliyor.

Dikkat çeken diğer özellikler

useTemplateRef()

  • 3.5, useTemplateRef() API'siyle template ref elde etmenin yeni bir yolunu sunuyor.
  • 3.5'ten önce, değişken adını statik ref özniteliğiyle eşleştiren normal ref kullanımı öneriliyordu.
  • Önceki yaklaşım, derleyicinin ref özniteliğini analiz edebilmesini gerektirdiği için statik ref öznitelikleriyle sınırlıydı.
  • Buna karşılık useTemplateRef(), ref'leri çalışma zamanındaki string ID üzerinden eşleştirdiğinden, değişen ID'ler için dinamik ref binding desteği sunuyor.

Deferred Teleport

  • Yerleşik <Teleport> bileşeninin bilinen bir kısıtı, teleport bileşeni mount edildiğinde hedef öğenin mevcut olması gerekliliğiydi.
  • Bu nedenle kullanıcıların, içeriği Vue tarafından render edilen başka bir öğeye teleport etmesi engelleniyordu.
  • 3.5'te, mevcut render döngüsünden sonra mount edilen <Teleport> için defer prop'u eklendi; böylece bu artık çalışıyor.

onWatcherCleanup()

  • 3.5, watcher içinde cleanup callback kaydetmek için global olarak içe aktarılan onWatcherCleanup() API'sini tanıtıyor.

3 yorum

 
[Bu yorum gizlendi.]
 
narusas 2024-09-06

Bu sürümde, gerçek bileşen geliştirme sırasında kullanım kolaylığı gerçekten çok artmış.

 
xguru 2024-09-06

Bu sürümün adı Tengen Toppa Gurren Lagann imiş. (Bir başyapıttır! Benim izlediğim Gainax yapımları arasında sanırım sonuncusu buydu.)

Vue, geleneksel olarak manga/anime adlarını kullandı. 1.0 Evangelion, 2.0 Ghost in the Shell, 3.0 One Piece, 3.3 Rurouni Kenshin, 3.4 Slam Dunk
https://en.wikipedia.org/wiki/Vue.js#Versions