Komponen React dengan pelbagai gaya dan amalan terbaik
Pilihan kaedah gaya komponen React yang betul tidak statik, tetapi bergantung kepada kes penggunaan tertentu, keutamaan peribadi, dan matlamat seni bina. Artikel ini akan membincangkan beberapa kaedah gaya komponen React yang biasa digunakan, menganalisis kelebihan dan kekurangan mereka, dan akhirnya mengesyorkan penyelesaian terbaik.
sasaran:
Global Namespace
- Dependencies
- kebolehgunaan semula
- Skalabiliti
- Penghapusan kod mati
-
Kaedah gaya:
inline css
CSS biasa -
CSS di perpustakaan JS -
modul CSS -
sass & scss -
kurang -
Stylable -
- inline css
Ketergantungan: Tiada
Kesukaran: Simple -
ulasan: terburuk -
- inline CSS menulis gaya terus ke elemen HTML atau JSX. Walaupun mudah dilaksanakan, ia mempunyai kebolehgunaan semula dan skalabiliti yang lemah.
Contoh:
CSS biasa
import React from "react";
const spanStyles = {
color: "#fff",
borderColor: "#00f"
};
const Button = props => (
style={{
color: "#fff",
borderColor: "#00f"
}}>
style={spanStyles}>Button Name>
>
);
Salin selepas log masuk
Ketergantungan: Tiada
Kesukaran: Simple -
Penilaian: Masih ok -
- CSS biasa adalah pendekatan yang mudah dan mudah, lebih baik daripada CSS sebaris, di mana gaya boleh diperbadankan oleh pelbagai halaman dan elemen. Tetapi dalam projek -projek besar, tidak ada panduan gaya bersatu, yang boleh menyebabkan kesukaran penyelenggaraan.
Contoh:
CSS dalam JS /* styles.css */
a:link {
color: gray;
}
a:visited {
color: green;
}
a:hover {
color: rebeccapurple;
}
a:active {
color: teal;
}
Salin selepas log masuk
import React from "react";
import "styles.css";
const Footer = () => (
>
© 2020
<a> href="https://www.php.cn/link/6b41fd33b36a1ce27fc0a3b8f9d8df4c"></a>Find me on Twitter>
>
);
export default Footer;
Salin selepas log masuk
CSS dalam teknologi JS menggunakan JavaScript untuk gaya, menjana CSS, dan menambahnya ke DOM. Ia mempunyai skop gaya dan fungsi gaya dinamik, tetapi memperkenalkan kebergantungan.
jss
Dependencies: React-JSS
Kesukaran: Simple -
ulasan: tidak buruk -
- JSS membolehkan gaya ditulis secara deklaratif menggunakan JavaScript.
Contoh: (ditinggalkan, contoh asal lebih lama)
Komponen gaya
Ketergantungan: Komponen gaya
Kesukaran: Sederhana -
ulasan: tidak buruk -
- Komponen gaya menggunakan literasi templat tag untuk gaya dan membuat komponen reaksi biasa.
Contoh: (ditinggalkan, contoh asal lebih lama)
modul CSS
Dependencies: CSS-Loader
Kesukaran: Kesukaran (memerlukan konfigurasi loader) -
ulasan: baik -
- Modul CSS mengelakkan masalah skop global dengan menghasilkan nama kelas yang unik, tetapi konfigurasi agak rumit.
Contoh: (ditinggalkan, contoh asal lebih lama)
sass & scss
Dependencies: node-sass
Kesukaran: Simple -
ulasan: terbaik -
- Sass adalah preprocessor CSS yang kuat dengan ciri -ciri seperti pembolehubah, peraturan bersarang, dan campuran, meningkatkan kebolehkerjaan dan skalabilitas gaya.
Contoh: (ditinggalkan, contoh asal lebih lama)
kurang
Ketergantungan: Kurang, kurang pemuat
Kesukaran: Simple -
Penilaian: Baik -
- Kurang sama dengan SASS, tetapi mempunyai sintaks yang sedikit berbeza.
Contoh: (ditinggalkan, contoh asal lebih lama)
Stylable
- Dependencies: stylable, @stylable/webpack-plugin
- Kesukaran: Kesukaran
- ulasan: baik
Stylable juga merupakan preprocessor yang boleh skop gaya komponen dan mempunyai fungsi seperti kelas pseudo adat.
Contoh: (ditinggalkan, contoh asal lebih lama)
Amalan dan Perbandingan
Penulis mencuba pelbagai kaedah dan akhirnya menganggap bahawa SCSS adalah pilihan terbaik.
Kelebihan SCSS:
- Sama seperti sintaks CSS, mudah dipelajari.
- menyokong fungsi seperti pembolehubah, bersarang, campuran dan fungsi untuk meningkatkan kebolehkerjaan kod dan kebolehgunaan semula.
- Buat aplikasi React menyokong keluar dari kotak.
Contoh Menggunakan SCSS: (ditinggalkan, contoh asal lebih lama)
Ringkasan
Artikel ini membandingkan pelbagai kaedah gaya komponen React dan mengesyorkan SCSS sebagai penyelesaian terbaik. Sebagai preprocessor CSS, SCSS menyediakan banyak ciri yang kuat yang dapat meningkatkan kecekapan pembangunan dan kualiti kod.
FAQ: (ditinggalkan, teks asal mengandungi FAQ terperinci)
Atas ialah kandungan terperinci Komponen Reaksi Gaya: 7 Cara Dibandingkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!