Material UI ve tema sağlayıcısını (JSS kullanarak) kullandığım bir uygulama var.
Şimdi tam teşekküllü bir React kütüphanesi olmayan fullcalendar-reakt'ı kullanıyorum - sadece orijinal fullcalendar kodunun etrafında ince bir React bileşeni sarıcısı.
Yani, unsurlarını nasıl şekillendirdiğini kontrol etmek için render sahne gibi şeylere erişimim yok.
Ancak, bunları oluştururken çağrılan bir geri çağrı aracılığıyla DOM öğelerine doğrudan erişmenizi sağlar (ör. EventRender yöntemi ).
İşte temel bir demo sanal alanı.
Şimdi yapmak istediğim, Tam Takvim bileşenlerinin (örn. Düğmeler) uygulamamın geri kalanıyla aynı görünümü ve hissi paylaşmasını sağlamak.
Bunu yapmanın bir yolu, kullandığı sınıf adlarına bakarak ve stili buna göre uygulayarak tüm stilleri el ile geçersiz kılabilmemdir.
Veya - Belgelerinde önerildiği gibi bir Bootstrap teması uygulayabilirim.
Ancak bu çözümlerden herhangi biriyle ilgili sorun şudur:
- Çok iş olurdu
- Senkronizasyon sorunları yaşardım, MUI temamda değişiklik yaptıysam ve takvim temasını güncellemeyi unuttuysam, farklı görüneceklerdi.
Ne yapmak istiyorum ya:
- MUI temasını sihirli bir şekilde bir Bootstrap temasına dönüştürün.
- Veya MUI sınıfı adları ile takvim sınıfı adları arasında aşağıdakiler gibi bir eşleme oluşturun:
.fc-button = .MuiButtonBase-root.MuiButton-root.MuiButton-contained
.fc-button-primary= .MuiButton-containedPrimary
Çalıştırmak için seçicilere vb. Masaj yapmak zorunda kalmam. Çoğunlukla temayı değiştirdiğim zaman - iki yerde değiştirmek istemiyorum.
@extend
Sözdizimi ile Sass gibi bir şey kullanmak aklımdaki şey. Sass ile tam takvim CSS'yi yeterince kolayca oluşturabilirim - ama Sass MuiTheme'e nasıl erişebilir?
Belki de karşıt yaklaşımı benimseyebilirim - MUI'ye 'Buradaki bu sınıf isimleri bu MUI sınıfları gibi biçimlendirilmelidir' deyin.
Bunu nasıl çözeceğime dair somut öneriler var mı?
text-decoration
özelliği kaska eklemeyi hatırlamanız gerekir .