React Styling - eng yaxshi amaliyotlar

CSS bu notinch, notinch narsa. Rivojlanishning boshlang'ichchisi sifatida, uslub har doim ham tushuntirib bo'lmaydigan tartibsizlik bo'lgan. Klassik CSS-ning hazil-mutoyibasi bor:

"Ikkita CSS xususiyatlari barga o'tadi. To'liq boshqacha barda qoziq yiqilib tushdi. "

Va bu haqiqat! Siz CSS-da ba'zan (lekin boshqa paytlarda emas ...) sinf uslubini o'zgartirgan holda bir nechta boshqa narsalarning uslublarini o'zgartirganini payqadingizmi? Ulardan ba'zilari hech qanday tarzda bu sinf bilan bog'lanmasligi kerakmi? Menda bor. Shunday qilib, "tuzatish" sifatida biz bir nechta sinf nomlarini bitta elementga qo'yamiz (va IDni shunchaki kulgiga qo'yish uchun ...), lekin BEM nomli konvensiyalar hech qachon asosiy muammoni hal qilmagan: CSS faqat katta loyihalar uchun mo'ljallanmagan. Bundan tashqari, CSS (alohida uslublar jadvali) faqat Reaktsiya uchun mo'ljallanmagan.

Mana mening o'tgan loyihamning skrinshoti. Sarlavha darslari hamma joyda, ID tarqalib ketgan. Bu tartibsizlik edi.

CSS-ning uzoq va aylanadigan yo'li. Atrofga tashlangan sinflar va shaxslarning guvohnomalari, turli xil tarkibiy qismlarga tegishli bo'lgan va tashkilot haqida gapirmasa ham, bosh og'rig'i.

Kiriting: "Sport-tarkibiy qismlar"

React-da stylingdan foydalanishning tonna va tonna usullari mavjud, ammo eng yaxshi usullardan biri bu sizning tarkibiy qismingiz tarkibiy qismlarini to'g'ridan-to'g'ri uslubga aylantirishdir. Ushbu uslubiy komponentlar faqat ular ko'rsatiladigan aniq tarkibiy qismga ta'sir qiladi va boshqa hech narsa yo'q. React tarkibiy qismlari kichik, e'tiborli va qayta ishlatilsa yaxshi ishlaydi.

CSS tugmachasini sozlash (eski usul)Styled komponentasi xuddi shu tugmani React-da ishlatadiTugmaga asosiy rekvizitlarni qo'shish juda oson!

Ko'rinib turibdiki, Tugma komponentining uslubi u ishlatilayotgan muayyan komponent ichida saqlanadi. E'tibor bergan bo'lsangiz, biz belgilangan shablon yozuvlarini ishlatayotganimiz sababli, biz CSS-ga javascript mantig'ini yoza olamiz. Misli ko'rilmagan!

Stil uslubi

BSSstrap, Materialize va boshqalar kabi CSS uslubidagi kutubxonalar barchasi o'zlarining reaktsiyalariga xos bo'lgan kutubxonalari bilan birga chiqadi. Sinf nomi yo'qligi sababli CSS-ni sizning uslubingizga o'zgartirish uchun maqsad qilib qo'yolmaysiz. Uslublarni o'zgartirishning yagona usuli bu uslubni ob'ekt sifatida o'zgartirish (javascript bilan tanish bo'lmagan ba'zi oldingi dasturchilar uchun to'siq tug'diradi). Bu har bir narsaga olib keladi. veb-sayti. qarab. aniq. xuddi shu. Endi siz uslubli komponentlardan foydalanib, tematik komponentga yo'naltirilgan maxsus styled komponentasini yaratishingiz mumkin. Super ajoyib.

Maxsus stilize qilingan tarkibiy qismni yarating, so'ngra ushbu uslubning tarkibiy qismini styling. Juda ko'p uslub!

Tashkilot va o'qish

Rangli qismlardan foydalanish React komponentlarini tashkil qilish uchun juda yaxshi vositadir. O'zingizning JSX-ni

s va s bilan to'ldirishning o'rniga, tarkibiy qismlarni o'z uslublari bilan namoyish etishingiz mumkin! Ichki uslublar mavjud emasligi sababli, kodni o'qish va saqlash juda oson bo'ladi. Va agar siz uslubni o'zgartirmoqchi bo'lsangiz, uni boshqa biron bir qismga ta'sir qilmasdan qilishingiz mumkin! Ajablanarli.

JSX son-sanoqsiz <div> s, <span> s va ichki uslublar bilan bir oz tartibsiz bo'lishi mumkinAssalomu alaykum.

'Eng yaxshi amaliyot'

Siz baribir uslublar jadvallarini uslubiy qismlardan foydalanishingiz mumkin (garchi bu erda bu aniq ko'rinishga olib kelishi mumkin ...) va global uslublarni in'ektsiya qilish usullari (masalan, css fayllarini normallashtirish yoki qayta tiklash) mavjud. O'z tarkibiy qismlarining tarkibiy qismlarini stilizatsiya qilish ko'plab ishlab chiquvchilar React-ga intilayotgan eng yaxshi amaliyotdir. Men barchani bu haqda ozgina tadqiqotlar olib borishga undayman, ayniqsa agar ular React va Angular 2 kabi qismlarga asoslangan oldingi chet tillariga kirishni xohlasalar.

Qo'shimcha ma'lumot olish uchun quyidagi havolalar:

Devid Chan React-da komponentlar darajasida uslublar haqida nutq so'zlamoqda
Umuman olganda, komponentlarga asoslangan tizimlar uchun uslublarni qanday yaratish kerakligi haqida.

Glen Maddern tarkibiy qismlarga asoslangan tizimlar mavzusida nutq so'zlamoqda
Uslubiy komponentlar kutubxonasining hammuassisi umuman komponentlar uchun uslubni yaratadi, kutubxonaning o'ziga e'tibor qaratmaydi.

Rasmiy Styled Componentlar veb-sahifasi va GitHub-ga havola:
Hujjatlar batafsil va aniq.

Maks Stoiber ReactConf 2016-da nutq so'zlamoqda
Stil-komponentlarning hammuallifi batafsil ma'lumot beradi va yangi uslublar kutubxonasi haqida savollar beradi.

Maks Stoiber bilan JavaScript Jabber podkast epizodi
Stoiber u o'zi yaratgan create-reaksiya-ilova va shuningdek, styled-komponentlar kutubxonasi haqida gapiradi.