React có hỗ trợ mô-đun CSS không?

Tôi là một nhà phát triển full-stack đến từ London. Lập trình là một trong những niềm đam mê của tôi trong cuộc sống. Phần lớn các kỹ năng gần đây nhất của tôi là do tôi tự học. Tôi thấy đây là một trong những cách tốt nhất để học vì bạn có thể học theo tốc độ của riêng mình

Bạn có thể sử dụng các mô-đun CSS với bất kỳ gói mô-đun nào như webpack hoặc browserify hoặc bất kỳ cách nào khác hỗ trợ nhập tệp CSS

Một giải pháp thay thế cho các mô-đun CSS trong React để tạo phạm vi cục bộ là sử dụng các thành phần được tạo kiểu

Lợi ích của các mô-đun CSS

  • Sử dụng các mô-đun CSS tránh xung đột không gian tên cho các lớp CSS
  • Bạn có thể sử dụng cùng một lớp CSS trong nhiều tệp CSS
  • Bạn có thể tự tin cập nhật bất kỳ tệp CSS nào mà không lo ảnh hưởng đến các trang khác
  • Sử dụng Mô-đun CSS tạo các lớp CSS ngẫu nhiên khi được hiển thị trong trình duyệt

Mô-đun CSS là cách tạo kiểu ưa thích trong Gatsby. js và Tiếp theo. js

Tại sao chúng ta cần sử dụng Mô-đun CSS?

Trong ứng dụng React, chúng tôi thường tạo một tệp

.title {
  font-size: 2.5rem;
}
0 duy nhất và nhập tệp đó vào tệp chính để CSS sẽ được áp dụng cho tất cả các thành phần

Nhưng việc sử dụng các mô-đun CSS giúp tạo các tệp CSS riêng biệt cho từng thành phần và là cục bộ của tệp cụ thể đó và tránh xung đột tên lớp

Thế là đủ về phần Giới thiệu. Hãy xem cách sử dụng nó

Sử dụng các mô-đun CSS

Hỗ trợ mô-đun CSS được cung cấp bởi

.title {
  font-size: 2.5rem;
}
1 bên ngoài hộp, vì vậy chúng tôi không cần cài đặt hoặc định cấu hình bất kỳ thứ gì để làm cho nó hoạt động

Khi làm việc với React, quy ước đặt tên cho tệp CSS bằng phần mở rộng

.title {
  font-size: 2.5rem;
}
2

Giả sử, chúng ta có một tệp

.title {
  font-size: 2.5rem;
}
3 trong thư mục
import headerStyles from "./header.module.css";
0 với nội dung như sau

.title {
  font-size: 2.5rem;
}

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

thì ở file

import headerStyles from "./header.module.css";
1 chúng ta import file này theo cách sau

import headerStyles from "./header.module.css";

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

và sử dụng nó như thế này

<div>
 <h1 className={headerStyles.title}>CSS Modules</h1>
</div>

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bản demo CodeSandbox

Xem bản xem trước cho hộp cát mã ở trên tại đây

Nếu bạn kiểm tra bản xem trước ở trên, bạn sẽ thấy rằng mặc dù chúng tôi đã đặt _____02 làm lớp cho h1, nhưng lớp CSS cuối cùng lại khác khi được hiển thị trong trình duyệt

React có hỗ trợ mô-đun CSS không?

Vì vậy CSS Modules giúp tạo các lớp ngẫu nhiên khi hiển thị trên trình duyệt

Sử dụng dấu gạch ngang khi đặt tên lớp

Người ta thường đặt tên một lớp CSS bằng dấu gạch nối như

import headerStyles from "./header.module.css";
3

Vì vậy, để sử dụng lớp đó bên trong các thành phần, chúng ta cần sử dụng ký hiệu ngoặc như thế này

<div className={headerStyles["menu-items"]}>Some text...</div>

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bản demo CodeSandbox

Thêm nhiều lớp

Hãy xem xét chúng tôi có hai lớp riêng biệt như thế này

________số 8

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Sau đó, để sử dụng cả hai lớp này cho cùng một phần tử, chúng ta cần sử dụng cú pháp mẫu ES6 như thế này

<div className={`${headerStyles["bold"]} ${headerStyles["active"]}`}>Some text...</div>

Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Bản demo CodeSandbox

Phần kết luận

  • Các mô-đun CSS giúp tránh xung đột tên lớp toàn cầu
  • Chúng cũng giúp giữ cho các tệp CSS sạch sẽ, dễ tổ chức và bảo trì
  • Chúng tương tự như styled-components để duy trì phạm vi cục bộ
  • Chúng nằm trong phạm vi cục bộ để tránh các tác dụng phụ không chủ ý ở những nơi khác
  • Chúng được sử dụng làm cơ chế tạo kiểu ưa thích trong Gatsby. js và Tiếp theo. js và chúng hoạt động vượt trội

Bạn có thể tìm thấy mã nguồn GitHub hoàn chỉnh cho bài viết này trong kho lưu trữ này


Học JavaScript hiện đại không phải là một nhiệm vụ dễ dàng. Nhưng đừng lo, hướng dẫn này sẽ giúp bạn trở thành một chuyên gia về JavaScript hiện đại và giỏi hơn về React

Đừng quên đăng ký để nhận bản tin hàng tuần của tôi với các mẹo, thủ thuật và bài viết tuyệt vời trực tiếp trong hộp thư đến của bạn tại đây

React có hỗ trợ các mô-đun CSS không?

Hỗ trợ mô-đun CSS được cung cấp bởi ứng dụng tạo phản ứng ngay lập tức vì vậy chúng tôi không cần cài đặt hoặc định cấu hình bất kỳ thứ gì để nó hoạt động. Khi làm việc với React, quy ước đặt tên tệp CSS bằng. mô-đun. phần mở rộng css.

Tôi có thể sử dụng các mô-đun CSS trong phản ứng gốc không?

Ứng dụng React Native thường được tạo kiểu bằng cách sử dụng kiểu nội tuyến hoặc đạo cụ tạo kiểu. Mô-đun CSS cung cấp giải pháp thay thế di động, mạnh mẽ hơn cho việc sử dụng các kiểu React Native truyền thống . Mô-đun CSS cho phép bạn sử dụng các kiểu có phạm vi cục bộ trong ứng dụng React Native của mình, điều này làm cho mã của bạn rõ ràng hơn và dễ đọc hơn.

Phạm vi của mô-đun CSS cho React là gì?

tệp css. Nó làm giảm phạm vi toàn cầu của kiểu dáng React . Ngoài ra, nó là một công cụ ngăn chặn phạm vi toàn cầu và xung đột bằng cách tạo một chuỗi ngẫu nhiên dưới dạng tên className và thêm một hàm băm duy nhất để làm cho mỗi className trở nên độc nhất. Chúng ta có thể ngăn xung đột không gian tên cho các lớp CSS bằng cách sử dụng Mô-đun CSS.

Tôi có thể sử dụng các biến CSS trong React không?

Có hai lý do để chuyển sang biến CSS trong ứng dụng React của bạn. Công thái học là tốt đẹp. Nó mở ra những khả năng mới. Bạn có thể làm những việc với các biến CSS mà JS không làm được .