درود دوستان! توی این قسمت از مجموعه پست‌های ری‌اکت ۱۰۱ می‌خوایم انواع مختلف روش‌های استایل دادن کامپوننت‌های ری‌اکتی رو بررسی کنیم و همچنین مزایا و معایب هر روش رو بررسی می‌کنیم. روش‌هایی که بررسی می‌کنیم شامل:

 

  1. CSS Stylesheets
  2. CSS Modules
  3. CSS Modules با Sass/SCSS
  4. Inline Styles
  5. Styled-Components (CSS-in-JS)
  6. Tailwind CSS

خب بریم که این روش‌ها رو بررسی کنیم.

 

۱. CSS Stylesheets

این یک روش سنتی برای استایل دادن به کامپوننت‌های ری‌اکتی هست. توی این روش یک فایل ‌.css می‌سازیم، توی اون دستورات CSS رو تعریف می‌کنیم:

.container {
  width: 100%;
  background: white;
}

و نهایتاً اون فایل رو به کامپوننت اضافه می‌کنیم:

import './App.css';

function App() {
  return <div className="container">Hello, world!</div>;
}

 

مزایا و معایب این روش

از مزایای این روش اینه که به‌راحتی قابل پیاده‌سازی و استفاده هست و نیازی به نصب پکیج یا یادگیری مهارت خاصی نیست. همچنین با منتقل کردن کدهای سی‌اس‌اس از کامپوننت، کدهایی تمیزتر و مرتب‌تر داریم. نکته مهمی که باید بدونیم اینه که این استایل‌ها به‌صورت Global اعمال میشن و برای زمانی مناسب هست که واقعاً چنین قصدی داریم. در غیر این صورت ممکنه باعث مشکلاتی مثل اعمال استایل‌های ناخواسته بشه. همچنین عدم امکان استفاده از جاوااسکریپت باعث میشه این روش انعطاف و کاربرد چندانی نداشته باشه.

 

چه زمانی از این روش استفاده کنیم؟

استفاده از این روش برای زمانی خوبه که می‌خوایم استایل‌هایی داشته باشیم که در سراسر برنامه قراره قابل دسترس باشن (Global). این کار رو معمولاً توی فایل main.ts یا App.tsx انجام می‌دیم.

 

۲. CSS Modules

این روش مشکل استایل‌های Global رو حل می‌کنه و با استفاده از اون از اعمال دستورات ناخواستهٔ سی‌اس‌اس جلوگیری میشه. استایل‌های ما به قول معروف Scoped هستن. یعنی فقط اونجایی اعمال میشن که Import شدن.