0Pricing
Vue Academy · Ders

Composable Fabrikaları ve Parametreli Composable'lar

Composable fabrikaları oluşturma, durumu örnek başına kapsamlandırma ve paylaşılan tekil durumdan kaçınma.

Composable Fabrikaları ve Parametreli Composable'lar, CoddyKit'te ücretsiz bir Vue Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Vue Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Vue Academy kursu toplamda 4 dersten oluşur.

Parametre Alan Birleştirilebilir İşlevler

Sade bir birleştirilebilir işlev sabit davranış döndürür. Parametreli birleştirilebilir işlev, ne yaptığını özelleştirmek için bağımsız değişkenleri kabul eder — temel adres, seçenekler ve varsayılanlar gibi — böylece tek bir işlev birçok duruma hizmet edebilir.

Basit Bir Parametreli Birleştirilebilir İşlev

Yapılandırmayı bağımsız değişken olarak geçiriniz. Burada URL çağıran tarafından sağlanır; böylece tek bir useFetch her uç nokta için çalışabilir.

import { ref } from "vue"

export function useFetch(url) {
  const data = ref(null)
  fetch(url).then(r => r.json()).then(d => data.value = d)
  return { data }
}

Seçenekler Nesnesini Kabul Etme

Çok sayıda ayar için varsayılan değerlere sahip bir seçenekler nesnesi alınız. Bu, çağrı noktasının okunabilir kalmasını ve birleştirilebilir işlevin esnek olmasını sağlar.

export function useFetch(url, options = {}) {
  const { immediate = true, method = "GET" } = options
  const data = ref(null)
  function run() { /* fetch with method */ }
  if (immediate) run()
  return { data, run }
}

Birleştirilebilir İşlev Üreticisi Nedir

Üretici bir adım daha ileri gider: ortak ayarlarla önceden yapılandırılmış bir birleştirilebilir işlev döndüren bir işlevdir. Bir kez yapılandırır, ardından bileşenler arasında kullanabileceğiniz amaca uygun birleştirilebilir işlevi elde edersiniz.

Üretici Oluşturma

Dış işlev ortak yapılandırmayı (örneğin baseURL) yakalar; döndürülen iç işlev, yapılandırmanın kapanım aracılığıyla içine işlendiği birleştirilebilir işlevdir.

export function createApi(baseURL) {
  return function useApi(path) {
    const data = ref(null)
    fetch(baseURL + path).then(r => r.json()).then(d => data.value = d)
    return { data }
  }
}

Üretici Kullanma

Yapılandırılmış birleştirilebilir işlevi oluşturmak için üreticiyi bir kez (çoğunlukla ortak bir modülde) çağırın; ardından bu işlevi her yerde içe aktararak kullanın.

// api.js
export const useApi = createApi("https://api.example.com")

// component
import { useApi } from "./api"
const { data } = useApi("/users")

Örneğe Özel State

Birleştirilebilir işlevi her çağırdığınızda, oluşturduğu referanslar yeni olur ve yalnızca o çağrıya ait kalır. useFetch işlevini çağıran iki bileşen, birbirinden bağımsız data referansları elde eder — yanlışlıkla paylaşım gerçekleşmez.

const a = useFetch("/posts")   // its own data ref
const b = useFetch("/comments") // a separate data ref

Modül Düzeyinde Paylaşılan Tekil Örnek

Bazen tek bir ortak örnek WANT edersiniz. State, işlevin dışında modül düzeyinde bildirilir ve birleştirilebilir işlev bunu kapanımıyla kullanır — her çağıran aynı referansları paylaşır.

import { ref } from "vue"
const user = ref(null) // module-level, shared

export function useAuth() {
  function login(u) { user.value = u }
  return { user, login }
}

Örneğe Özel State ve Tekil Örnek

  • İşlevin içindeki state → çağrı başına yeni (bileşen başına) — formlar, veri getiriciler.
  • Modül düzeyindeki state → paylaşılan tekil örnek — mevcut kullanıcı, tema, uygulama genelindeki bayraklar.

Seçiminizi, verilerin bileşene özel mi yoksa genel mi olduğuna göre yapınız.

Üretici ile Tekil Örneği Birleştirme

Bir üretici tekil bir örnek de oluşturabilir: paylaşılan state'i üretici çağrısının içinde oluşturun (bu çağrı bir kez çalışır) ve döndürülen birleştirilebilir işlevin bu state'i kapanımıyla kullanmasını sağlayın.

export function createStore(initial) {
  const state = ref(initial) // created once per factory call
  return function useStore() {
    return { state }
  }
}
export const useCounter = createStore(0)

Üreticiye Ne Zaman Başvurulmalı

Birkaç birleştirilebilir işlev yapılandırmayı (temel adres, üst bilgiler, istemci örneği) paylaşıyorsa veya küçük bir kitaplık oluşturup kullanıcıların bir kez yapılandırma yapmasını istiyorsanız üretici kullanınız. Aksi durumda parametreli birleştirilebilir işlev daha basittir.

Hızlı Kontrol

Birleştirilebilir işlev üreticileri ve kapsamlandırma konusundaki anlayışınızı kontrol ediniz.

Özet

Birleştirilebilir işlev üreticilerini ve kapsamlandırmayı öğrendiniz:

  • Parametreli birleştirilebilir işlevler, davranışı özelleştirmek için bağımsız değişkenler veya seçenekler alır.
  • Üretici, önceden yapılandırılmış birleştirilebilir işlev döndüren bir işlevdir (yapılandırma kapanım aracılığıyla yakalanır).
  • İşlevin içindeki state örneğe özeldir; modül düzeyindeki state paylaşılan bir tekil örnektir.
  • Bileşene özel veriler için örneğe özel state, uygulama genelindeki state için tekil örnek kullanınız (mevcut kullanıcı, tema).

Sıkça Sorulan Sorular

“Composable Fabrikaları ve Parametreli Composable'lar” dersi ücretsiz mi?

Evet — “Composable Fabrikaları ve Parametreli Composable'lar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Vue Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Vue Academy kursu toplamda 4 dersten oluşur.

“Composable Fabrikaları ve Parametreli Composable'lar” dersinde ne öğreneceğim?

Composable fabrikaları oluşturma, durumu örnek başına kapsamlandırma ve paylaşılan tekil durumdan kaçınma. Vue Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Vue Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Vue Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Composable Fabrikaları ve Parametreli Composable'lar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Vue Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Vue Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İleri Düzey Reaktivite: shallowRef ve triggerRef
  2. Composable Fabrikaları ve Parametreli Composable'lar
  3. Vue'da XState ile Durum Makineleri
  4. Gruplandırılmış Etkiler için effectScope
← Vue Academy Sayfasına Dön