CodeBlanks Logo Icon CodeBlanks

Proje: Mikro ön yüz ve tasarım sistemi

Mikro ön yüz ve tasarım sistemi projesinin amacını ve adımlarını gözden geçirirsin.

Proje: Mikro ön yüz ve tasarım sistemi

Bu projede bir tasarım sistemi çekirdeği, server bileşenli sayfa ve concurrent özellikleri birleştiren bir mikro ön yüz kuracaksın.

İlk adımda tasarım sisteminin temel taşı olan Button bileşenini yazarsın. variant özelliği ile görünüm değiştirilir. Sonraki derslerde bu buton bir tema sağlayıcı ve server sayfası ile birleştirilecek.

Her dersin başlangıç kodu önceki çözümü içerir; böylece proje adım adım büyür.

variant özelliği

Button bileşeni bir variant özelliği alır. variant === 'primary' ise btn-primary sınıfı, değilse btn-secondary sınıfı uygulanır.

Bu desen, tasarım sisteminde tutarlı görünüm sağlar. Yeni varyantlar eklemek için yalnızca koşul genişletilir.

Buton içeriği children ile taşınır; bu sayede esnek kullanım mümkün olur.

Uygulama Button bileşenini yaz

Button yaz. variant ve children özellikleri alsın. variant === 'primary' ? 'btn-primary' : 'btn-secondary' ile className hesapla. <button className={className}>{children}</button> döndür. Dışa aktar.

Başlangıç kodu

App.jsx
// Button.jsx

// Button bileşenini buraya yaz

Örnek çözüm

App.jsx
function Button({ variant, children }) {
  const className = variant === 'primary' ? 'btn-primary' : 'btn-secondary';
  return <button className={className}>{children}</button>;
}
export default Button;

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Bu projenin ilk adımı nedir?

  • Server sayfa yazmak
  • Button bileşenini yazmak Doğru cevap
  • Concurrent arama eklemek
  • Custom renderer kurmak

Açıklama: Önce tasarım sisteminin temel taşı Button yazılır.

2 Boşluğu doldur: variant ile sınıf seç

Soru
function Button({ variant, children }) {
  const className = variant === 'primary' ? 'btn-primary' : '____';
  return <button className={className}>{children}</button>;
}
Cevap
function Button({ variant, children }) {
  const className = variant === 'primary' ? 'btn-primary' : 'btn-secondary';
  return <button className={className}>{children}</button>;
}

Açıklama: Birincil değilse btn-secondary sınıfı verilir.

3 Proje adımlarını eşleştir

Kavram Anlamı
Button Tasarım sistemi çekirdeği
ThemeProvider Tema sağlar
ProductPage Server bileşenli sayfa
SearchPanel Concurrent arama

Uzman seviye bölümündeki tüm dersler