CodeBlanks Logo Icon CodeBlanks

Özet - Stil

CSS Modules ile stilli bir fiyat etiketi bileşeni yazarsın.

Özet - Stil

Bu grupta üç stil yöntemi gördün: className + CSS (global, basit), CSS Modules (kapsamlı, güvenli) ve inline style (dinamik, hızlı).

JSX'te class değil className; inline nesnede camelCase. Modules çakışmayı önler; inline state'e göre değişir.

İleride styled-components ve tema yönetimini göreceğiz; şimdilik bu üçü çoğu işi çözer.

Uygulama Stil özet görevi

Aşağıdaki iskeleti tamamla. StatusBadge bileşeni yaz; useState'i içe aktar. const [active, setActive] = useState(false); tanımla. <span className={active ? "on" : "off"}>{active ? "Açık" : "Kapalı"}</span> döndürsün. Dışa aktar.

Başlangıç kodu

App.jsx
import { useState } from "react";

// StatusBadge bileşenini buraya tanımla

Örnek çözüm

App.jsx
import { useState } from "react";

function StatusBadge() {
  const [active, setActive] = useState(false);
  return <span className={active ? "on" : "off"}>{active ? "Açık" : "Kapalı"}</span>;
}

export default StatusBadge;

Soru ve cevaplar

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

1 Aşağıdakilerden hangisi yanlış?

App.jsx
CSS dashes become camelCase.
  • JSX'te className kullanılır
  • inline stilde background-color yazılır Doğru cevap
  • inline dinamik değer alır
  • Modules çakışmayı önler

Açıklama: inline stilde backgroundColor (camelCase) yazılır.

2 Özet - Stil: kavramları eşleştir

Kavram Anlamı
className CSS sınıfı
styles.x Modules sınıfı
style={{}} Inline nesne
camelCase Özellik adı

Başlangıç bölümündeki tüm dersler