CSS Modules
- React kursu
- Başlangıç
- Ders 54/84
- 4 dk
CSS Modules ile yerel sınıf adları oluşturmayı öğrenirsin.
CSS Modules
CSS Modules, stilleri bileşene özel yapar. Dosya adı Button.module.css olur; içe aktarırken bir nesne alırsın: import styles from "./Button.module.css".
Sınıfı className={styles.btn} ile verirsin. Bundler her sınıfa benzersiz bir ad üretir; böylece çakışma olmaz.
Bu yöntem, büyük projelerde güvenli stil yazmanın standart yoludur. Takım içinde sınıf adlarının çakışması derdini ortadan kaldırır; her bileşen kendi stillerinde izole kalır.
Kapsamlı sınıf adları
Modules, .btn gibi basit bir adı Button_btn__x7y2 gibi benzersiz bir adla değiştirir. Bu adı sen yazmazsın; bundler otomatik üretir.
Böylece iki bileşende de .btn olsa bile çakışmazlar. Bu, ölçeklenebilir stil yönetiminin temelidir.
CamelCase sınıf adları kullanabilirsin: styles.primaryBtn. Tireli adlar köşeli parantezle alınır; ama camelCase daha temizdir, bu yüzden onu tercih ederiz.
Uygulama Modules düğme
Aşağıdaki iskeleti tamamla. PrimaryButton bileşeni yaz; styles nesnesini "./PrimaryButton.module.css"'den içe aktar. <button className={styles.primary}>Gönder</button> döndürsün. Dışa aktar.
Başlangıç kodu
// PrimaryButton bileşenini buraya tanımla
// styles'i içe aktarmayı unutmaÖrnek çözüm
import styles from "./PrimaryButton.module.css";
function PrimaryButton() {
return <button className={styles.primary}>Gönder</button>;
}
export default PrimaryButton;Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 CSS Modules dosya adı nasıl biter?
The bundler scopes based on the suffix.- .css
- .style
- .scss
- .module.css Doğru cevap
Açıklama: .module.css eki Modules olduğunu belirtir.
2 CSS Modules: eksik parçayı tamamla
className={____}
className={styles.btn}
Açıklama: styles nesnesinden sınıfı aldın.
3 CSS Modules: kavramları eşleştir
| Kavram | Anlamı |
|---|---|
.module.css |
Modules eki |
styles.btn |
Sınıf kullanımı |
benzersiz ad |
Çakışma yok |
camelCase |
Ad yazımı |