Shedrack Akintayo là một kỹ sư phần mềm đến từ Lagos, Nigeria, người yêu thích việc xây dựng cộng đồng, mã nguồn mở và sáng tạo nội dung cũng như công nghệ cho thế hệ tiếp theo … Thông tin thêm về Shedrack ↬ Bản tin emailMẹo hàng tuần về giao diện người dùng & UX. Được hơn 200.000 người tin cậy. - Các mẫu thiết kế giao diện thông minh, khóa học 9h-video
- Giao diện người dùng SmashingConf 2023
- Các mẫu thiết kế giao diện thông minh, khóa học 9h-video
- Bắt đầu miễn phí
- Hệ thống thiết kế thành công
React là một thư viện JavaScript tuyệt vời để xây dựng giao diện người dùng phong phú. Nó cung cấp một sự trừu tượng hóa thành phần tuyệt vời để tổ chức các giao diện của bạn thành mã hoạt động tốt, nhưng giao diện của ứng dụng thì sao? Việc tạo kiểu cho các thành phần React qua nhiều năm đã được cải thiện và trở nên dễ dàng hơn nhiều với các kỹ thuật và chiến lược khác nhau. Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách tạo kiểu cho các thành phần React bằng bốn chiến lược tạo kiểu chính — với các ví dụ về cách sử dụng chúng. Trong quá trình này, tôi sẽ giải thích nhược điểm và ưu điểm của các chiến lược tạo kiểu này và khi kết thúc hướng dẫn này, bạn sẽ biết tất cả về cách tạo kiểu cho các thành phần React và cách chúng hoạt động cùng với các phương thức khác nhau có thể được sử dụng để tạo kiểu cho các thành phần này Ghi chú. Hiểu biết cơ bản về ReactJS và CSS sẽ rất tốt cho hướng dẫn này 'Tạo kiểu' trong các ứng dụng React có nghĩa là gì?Lý do bạn tạo kiểu cho ứng dụng React của mình không khác với lý do bạn nghĩ đến khi tạo kiểu cho các trang web hoặc ứng dụng web khác mà bạn đang làm việc trên đó. Tạo kiểu trong các ứng dụng React mô tả cách các thành phần hoặc phần tử React được hiển thị trên màn hình hoặc bất kỳ phương tiện nào khác Toàn bộ bản chất của việc xây dựng giao diện người dùng giao diện người dùng với React là mức độ linh hoạt của việc xây dựng các giao diện người dùng này, đặc biệt là dưới dạng các thành phần và cũng tạo kiểu cho chúng để mang đến cho chúng ta giao diện và trải nghiệm tuyệt vời. Điều quan trọng cần biết là bất kỳ chiến lược tạo kiểu nào bạn có thể quyết định sử dụng vẫn là CSS — bạn đang viết CSS như bạn vẫn luôn làm. Sự khác biệt là các chiến lược (mà chúng ta sẽ xem xét) giúp quá trình này trở nên dễ dàng nhờ tính độc đáo của React Các chiến lược tạo kiểu chính trong ReactCó nhiều chiến lược khác nhau để tuân theo khi lập kế hoạch tạo kiểu cho các thành phần React, những chiến lược này cũng đã tăng lên và phát triển qua nhiều năm. Trong hướng dẫn này, chúng ta sẽ nói về các chiến lược tạo kiểu hiện đại và phổ biến nhất cũng như cách sử dụng chúng để tạo kiểu cho các thành phần React của chúng ta. Những chiến lược phong cách này bao gồm Điều này liên quan đến việc sử dụng các biểu định kiểu riêng biệt giống như cách thông thường để tạo kiểu cho các trang web HTML của chúng tôi bằng CSS hoặc bộ tiền xử lý CSS có tên là SASS Mô-đun CSS là một tệp CSS trong đó tất cả các tên lớp và tên hoạt hình được đặt trong phạm vi cục bộ theo mặc định styled-components là một thư viện dành cho React và React Native cho phép bạn sử dụng các kiểu ở cấp độ thành phần trong ứng dụng của mình được viết bằng hỗn hợp JavaScript và CSS bằng kỹ thuật có tên là CSS-in-JS JSS là một công cụ soạn thảo dành cho CSS cho phép bạn sử dụng JavaScript để mô tả các kiểu theo cách khai báo, không xung đột và có thể tái sử dụng. Nó có thể biên dịch trong trình duyệt, phía máy chủ hoặc tại thời điểm xây dựng trong Node
Trong phần tiếp theo của hướng dẫn này, chúng ta sẽ nói về từng chiến lược tạo kiểu này với các ví dụ về cú pháp của chúng Thêm sau khi nhảy. Tiếp tục đọc bên dưới ↓ Nâng cao kỹ năng UX của bạn với Mẫu thiết kế giao diện thông minh, thư viện video 9 giờ của Vitaly Friedman. Với hàng trăm ví dụ thực tế, hướng dẫn thiết kế và đào tạo UX trực tiếp thân thiện. Kiểm tra bản xem trước miễn phí Chuyển đến khóa học video UX ↬1. Biểu định kiểu CSS và SASSBiểu định kiểu CSS hoặc SCSS là một chiến lược tạo kiểu liên quan đến việc sử dụng các biểu định kiểu CSS hoặc SASS bên ngoài có thể được nhập vào các thành phần React của bạn tùy thuộc vào nơi bạn cần áp dụng kiểu đó Ví dụ: chúng tôi có tệp SASS gồm các kiểu có tên là import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 2, chúng tôi cần sử dụng trong một thành phần có tên là import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 3, bên dưới là mã cho tệp SASS của chúng tôi// Box.scss
.Box {
margin: 40px;
border: 5px black;
}
.Box_content {
font-size: 16px;
text-align: center;
}
Để sử dụng kiểu dáng này bên trong thành phần Hộp của chúng tôi, tất cả những gì chúng tôi cần làm là nhập tệp SASS trực tiếp vào thành phần import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 3 của chúng tôi như vậyimport React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box;
Sau khi tạo các kiểu và nhập nó vào tệp import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 3, chúng ta có thể đặt thuộc tính import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 6 để khớp với những gì chúng ta có trong biểu định kiểuTrong khi sử dụng chiến lược này, bạn cũng có thể tận dụng các khuôn khổ hiện có như; . Các khung này cung cấp cho bạn các lớp và thành phần hiện có mà bạn có thể cắm vào ứng dụng React của mình mà không cần tạo kiểu cho mọi khía cạnh của ứng dụng Lợi ích của việc sử dụng CSS và SASS Stylesheets- Nó phổ biến hơn nhiều so với các chiến lược tạo kiểu còn lại, vì vậy có rất nhiều tài nguyên hữu ích khi bạn gặp lỗi
- Bộ nhớ đệm & Hiệu suất
Các tệp CSS tiêu chuẩn giúp trình duyệt dễ dàng tối ưu hóa, lưu các tệp vào bộ nhớ đệm cục bộ để truy cập lại và cuối cùng mang lại hiệu suất cao. - Un-opinionated and Universal
CSS và SASS là phổ biến và không có ý kiến về cách bạn hiển thị giao diện người dùng của mình, khiến nó trở thành lựa chọn tuyệt vời cho các nhóm có CSS cũ và đang chuyển sang . - Nhanh chóng lặp lại một thiết kế mới
Bạn có thể dễ dàng trích xuất toàn bộ biểu định kiểu và tạo một biểu định kiểu mới để làm mới giao diện của ứng dụng mà không cần tìm hiểu qua hàng trăm thành phần tiềm năng. - Khung CSS
Khung CSS rất hữu ích nếu bạn là nhà phát triển mới hoặc bạn muốn nhanh chóng làm việc trên một nguyên mẫu mà không cần đi sâu vào viết biểu định kiểu toàn diện của riêng mình. Các khung CSS sẽ cung cấp cho bạn các khối xây dựng để đưa ý tưởng của bạn ra khỏi mặt đất. Một số khung này bao gồm, Bootstrap, Bulma, Semantic UI, Materialize.
Những thiếu sót khi sử dụng CSS và SASS Stylesheets- Khả năng đọc
Nếu không được cấu trúc phù hợp, biểu định kiểu CSS hoặc SASS có thể trở nên dài và khó điều hướng khi ứng dụng trở nên phức tạp. - CSS kế thừa có thể tồn tại trong nhiều năm
Hầu hết các biểu định kiểu thực sự lớn này có thể trở nên phức tạp và lâu đến mức việc dọn dẹp các kiểu cũ, lỗi thời hoặc thậm chí không được sử dụng có thể là một công việc khó khăn.
Ghi chú. “Sass có hai cú pháp. Cú pháp được sử dụng phổ biến nhất được gọi là “SCSS” (viết tắt của “Sassy CSS”) và là siêu bộ cú pháp CSS. Điều này có nghĩa là mọi biểu định kiểu CSS hợp lệ cũng là SCSS hợp lệ. Các tệp SCSS sử dụng phần mở rộng. scss. Cú pháp thứ hai, cũ hơn được gọi là cú pháp thụt lề (hoặc chỉ “. ngổ ngáo”). Lấy cảm hứng từ sự ngắn gọn của Haml, nó dành cho những người thích sự đồng nhất hơn là sự tương đồng với CSS. Thay vì dấu ngoặc và dấu chấm phẩy, nó sử dụng thụt đầu dòng để chỉ định các khối. Các tệp trong cú pháp thụt lề sử dụng phần mở rộng. ngổ ngáo. ” Mô-đun CSSMô-đun CSS là một tệp CSS trong đó tất cả các tên lớp và tên hoạt hình được đặt trong phạm vi cục bộ theo mặc định. Khi sử dụng Mô-đun CSS, mỗi thành phần React được cung cấp tệp CSS riêng, tệp này chỉ nằm trong phạm vi của tệp và thành phần đó Vẻ đẹp của các mô-đun CSS xảy ra tại thời điểm xây dựng khi các tên lớp cục bộ có thể cực kỳ đơn giản mà không có xung đột được ánh xạ trực tiếp tới các tên được tạo tự động và được xuất dưới dạng đối tượng JS theo nghĩa đen để sử dụng trong React Chúng tôi có thể sử dụng các Mô-đun CSS trong các ứng dụng React của mình bằng cách nhập tệp trực tiếp vào tệp thành phần Ví dụ: mã bên dưới là một ví dụ về cách sử dụng mô-đun CSS trong Thành phần phản ứng //Box.css
:local(.container) {
margin: 40px;
border: 5px dashed pink;
}
:local(.content) {
font-size: 15px;
text-align: center;
}
import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 7 được sử dụng khi bạn sử dụng bản soạn sẵn của ứng dụng tạo phản ứng vì cấu hình gói webKhi sử dụng webpack, bạn có thể thêm trình tải và cũng có thể thêm mô-đun vào import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 8 của mình để làm cho các mô-đun CSS hoạt động với Webpackimport React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 0Mặt khác, để sử dụng Mô-đun CSS này bên trong thành phần Hộp của chúng tôi, chúng tôi cần nhập tệp mô-đun trực tiếp vào thành phần import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 3 của mình và sử dụng giá trị import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 6 thay vì //Box.css
:local(.container) {
margin: 40px;
border: 5px dashed pink;
}
:local(.content) {
font-size: 15px;
text-align: center;
} 1 để truy cập kiểu như vậyimport React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 4//Box.css
:local(.container) {
margin: 40px;
border: 5px dashed pink;
}
:local(.content) {
font-size: 15px;
text-align: center;
} 2 đây là một đối tượng chứa các kiểu mà chúng ta đã tạo trong //Box.css
:local(.container) {
margin: 40px;
border: 5px dashed pink;
}
:local(.content) {
font-size: 15px;
text-align: center;
} 3. Đối tượng này sẽ chứa các lớp; . Để tận dụng chúng, chúng ta gán phần tử import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 6 cho lớp thích hợp mà chúng ta có trong //Box.css
:local(.container) {
margin: 40px;
border: 5px dashed pink;
}
:local(.content) {
font-size: 15px;
text-align: center;
} 3Lợi ích của việc sử dụng các mô-đun CSS- CSS mô-đun và có thể tái sử dụng,
- Không còn xung đột về kiểu dáng,
- Phụ thuộc rõ ràng,
- Phạm vi địa phương,
- Rõ ràng phụ thuộc,
- Không sao chép Mã trong trường hợp SSR,
- Không có chi phí bổ sung trong tải trọng JS,
- Biến, Chia sẻ biến trong CSS và hiển thị nó với JavaScript
Những thiếu sót khi sử dụng Mô-đun CSS- Các công cụ xây dựng bổ sung (e. g. gói web)
- Trộn các Mô-đun CSS và các lớp CSS toàn cầu rất cồng kềnh
- Khi một
//Box.css
:local(.container) {
margin: 40px;
border: 5px dashed pink;
}
:local(.content) {
font-size: 15px;
text-align: center;
} 8 được tạo cho một Mô-đun CSS không xác định, nó sẽ phân giải thành không xác định mà không có cảnh báo - Sử dụng đối tượng
//Box.css
:local(.container) {
margin: 40px;
border: 5px dashed pink;
}
:local(.content) {
font-size: 15px;
text-align: center;
} 2 bất cứ khi nào xây dựng một import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 6 là bắt buộc - Chỉ cho phép sử dụng tên lớp CSS
import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 01
import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box;1import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 1 là một thư viện dành cho React và React Native cho phép bạn sử dụng các kiểu cấp độ thành phần trong ứng dụng của mình được viết bằng hỗn hợp JavaScript và CSSNó được tạo với cùng một phương thức hoạt động của Mô-đun CSS, một cách để viết CSS trong phạm vi một thành phần và không thể truy cập được đối với bất kỳ thành phần nào khác trong trang hoặc thậm chí thành phần import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 1 cho phép các nhà phát triển React viết CSS đơn giản trong các thành phần React mà không phải lo lắng về việc xung đột tên lớpVí dụ: nếu chúng tôi cần triển khai kiểu dáng trong tệp import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 3 của mình bằng cách sử dụng các thành phần được tạo kiểu, trước tiên chúng tôi cần thực hiện các bước sau- Đầu tiên, chúng ta cần cài đặt thư viện
import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 1 bằng cách chạy import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 07 - Sau đó, chúng tôi cần nhập thư viện thành phần được tạo kiểu vào thành phần của mình bằng cách viết
import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 08 - Bây giờ chúng ta có thể tạo một biến bằng cách chọn một thành phần HTML cụ thể nơi chúng ta lưu trữ các khóa kiểu của mình
- Sau đó, chúng tôi sử dụng tên của biến mà chúng tôi đã tạo làm trình bao bọc xung quanh các phần tử JSX của mình
Đoạn mã dưới đây là một triển khai của tất cả các bước chúng tôi đã đề cập ở trên import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 2Trong đoạn mã trên, chúng tôi nhập đối tượng import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 09 từ import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 1, sử dụng các ký tự mẫu được gắn thẻ để tạo kiểu cho thành phần của bạn. Sau đó, chúng tôi tạo một biến sẽ giữ kiểu dáng của chúng tôi và cũng hoạt động như một trình bao bọc xung quanh nội dung, đó là lý do tại sao chúng tôi có các thẻ import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 41 và import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 42, trong các biến này, chúng tôi gán nó cho đối tượng import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 09 cộng với phần tử HTML mà chúng tôi muốn tạo kiểu rồi theo sau . Để sử dụng các biến chúng tôi đã tạo để tạo kiểu, tất cả những gì chúng tôi cần làm là bọc JSX hoặc nội dung của chúng tôi ở giữa chúng dưới dạng thẻLợi ích của việc sử dụng styled-components- Tính nhất quán
import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 1 giúp bạn dễ dàng xuất bản thành phần React lên NPM. Các thành phần này có thể được tùy chỉnh thông qua các đạo cụ và/hoặc mở rộng qua import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 45 và không xung đột với bộ chọn CSS. - Sass Syntax Out-Of-The-Box
Bạn có thể sử dụng cú pháp nhãn hiệu SASS ngay lập tức mà không cần phải cài đặt hay thiết lập SASS hay bất kỳ công cụ xây dựng bổ sung nào. - Tạo kiểu động
Bạn có thể sử dụng các đạo cụ để thay đổi động các kiểu theo bất kỳ cách nào cảm thấy tự nhiên đối với bất kỳ ai cảm thấy thoải mái với React. - Chủ đề
Sử dụng API ngữ cảnh của React, styled-components cung cấp một import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 46 mà bạn có thể chuyển trực tiếp đối tượng chủ đề tới, làm cho đối tượng đó rất dễ truy cập trong bất kỳ thành phần nào của bạn và theo mặc định .
Những thiếu sót của việc sử dụng các thành phần theo kiểu- Đường cong học tập
Các nhà phát triển giao diện người dùng đã quen với việc viết CSS truyền thống sẽ phải học một cách tạo kiểu khác với cách viết CSS truyền thống. - Tích hợp với Legacy CSS có thể gây khó khăn.
Nếu bạn đang sử dụng thư viện giao diện người dùng như UI UI hoặc thậm chí là CSS truyền thống, việc tích hợp các thành phần kiểu dáng cùng với chúng có thể gây nhầm lẫn khi định vị và gỡ lỗi kiểu. - Hiệu suất
styled-components chuyển đổi tất cả các định nghĩa về kiểu dáng trong thành phần React của bạn thành CSS đơn giản tại thời điểm xây dựng và đưa mọi thứ vào các thẻ import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 47 trong phần đầu của tệp import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 48 của bạn. Điều này ảnh hưởng đến hiệu suất theo nghĩa là nó không chỉ làm tăng kích thước tệp HTML của chúng tôi, điều này có thể ảnh hưởng đến thời gian tải mà còn không có cách nào để phân đoạn CSS đầu ra.
JSSJSS là một công cụ soạn thảo dành cho CSS cho phép bạn sử dụng JavaScript để mô tả các kiểu theo cách khai báo, không xung đột và có thể tái sử dụng. Nó có thể biên dịch trong trình duyệt, phía máy chủ hoặc tại thời điểm xây dựng trong Node. JSS là một chiến lược tạo kiểu mới chưa được điều chỉnh nhiều. Đó là khuôn khổ bất khả tri và bao gồm nhiều gói. cốt lõi, plugin, tích hợp khung và những thứ khác JSS có các bộ điều hợp API bên thứ ba có thể được sử dụng để viết các kiểu giống như JSS nhưng khác, các bộ điều hợp API bên thứ ba này bao gồm - JSS được tạo kiểu
Đây là bộ điều hợp API thành phần được tạo kiểu. - Glamour-JSS
CSS có hương vị quyến rũ với JSS chuyên sâu. - Aphrodite-JSS
Aphrodite like API.
Phản ứng-JSSReact-JSS sử dụng JSS với React bằng API Hooks mới. JSS và cài đặt trước mặc định đã được tích hợp sẵn trong thư viện. Theo tài liệu React-JSS chính thức, sau đây là những lợi ích của việc sử dụng React-JSS thay vì thư viện JSS cốt lõi trong các thành phần React của bạn Đoạn mã dưới đây là một ví dụ về cách React-JSS được sử dụng import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 4Trong đoạn mã trên, hơi giống với việc sử dụng các thành phần được tạo kiểu, chúng tôi nhập import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 20 và import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 21 từ thư viện import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 22. import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 21 là một thành phần bậc cao trong React, chuyển đối tượng chủ đề xuống cây React bằng cách sử dụng ngữ cảnh. Nó sẽ chứa chủ đề gốc của thành phần. Trong khi import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 20 được sử dụng để đưa biểu định kiểu mà chúng tôi đã tạo trong trường hợp này là //Box.css
:local(.container) {
margin: 40px;
border: 5px dashed pink;
}
:local(.content) {
font-size: 15px;
text-align: center;
} 2 vào thành phần chínhimport React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 1Đoạn mã trên là thành phần React chính chưa được chèn đối tượng kiểu mà chúng ta đã tạo, nó chứa mã chính cho thành phần React của chúng ta và nó sẽ được tạo kiểu khi chúng ta thêm đối tượng kiểu mà chúng ta đã tạo import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 2Dòng mã ở trên đang đưa các kiểu mà chúng ta đã tạo vào thành phần mà chúng ta đã tạo nó để sử dụng hàm import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 26import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 4Đoạn mã trên giữ đối tượng chủ đề sẽ được chuyển đến import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 27 HOC thông qua ngữ cảnh và nó đóng vai trò là chủ đề gốc của thành phần của chúng taimport React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 0Trong phần mã này, những gì chúng tôi đang làm ở đây là sử dụng import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 27 HOC, chúng tôi đang hiển thị thành phần của mình mà chúng tôi đã thêm trang tính theo kiểu mà chúng tôi đã tạo vào import React from 'react';
import './Box.css';
const Box = () => (
<div className="Box">
<p className="Box_content"> Styling React Components </p>
</div>
);
export default Box; 29Khi kết thúc kết xuất, đây là những gì sẽ được hiển thị trong trình duyệt của bạn Đầu ra mã. (Xem trước lớn)Lợi ích của JSS- Xác định phạm vi cục bộ
JSS hỗ trợ xác định phạm vi cục bộ, đưa nó lên cấp độ tiếp theo bằng cách tự động hóa phạm vi, dẫn đến khả năng dự đoán cao. - Đóng gói
Việc đóng gói tạo điều kiện bảo trì và loại bỏ lỗi, vì bạn có thể sửa đổi tất cả mã và kiểu liên quan đến thành phần ở cùng một nơi mà không phải lo lắng về việc thay đổi bất ngờ các phần khác của ứng dụng. - Khả năng sử dụng lại
Các thành phần có thể tái sử dụng, vì vậy bạn chỉ phải viết chúng một lần, sau đó bạn có thể chạy chúng ở mọi nơi trong khi vẫn duy trì kiểu dáng của chúng. - Tạo kiểu động
Bạn có thể sử dụng các đạo cụ để thay đổi động các kiểu theo bất kỳ cách nào cảm thấy tự nhiên đối với bất kỳ ai cảm thấy thoải mái với React.
Những thiếu sót của JSS- Đường cong học tập
Học JSS có thể rất phức tạp, đặc biệt là các nhà phát triển giao diện người dùng đã quen với việc viết CSS truyền thống. - Lớp phức tạp bổ sung
Việc đưa thư viện CSS-in-JS vào sử dụng sẽ thêm một lớp bổ sung vào ứng dụng React của bạn, điều này đôi khi có thể không cần thiết. - Khả năng đọc mã
Bộ chọn tùy chỉnh hoặc được tạo tự động có thể rất khó đọc, đặc biệt là khi sử dụng công cụ phát triển trình duyệt của bạn để gỡ lỗi.
Phần kết luậnMỗi trong số này đều có ưu điểm và nhược điểm, và tất cả phụ thuộc vào sở thích cá nhân/công ty của bạn và mức độ phức tạp của ứng dụng của bạn. Ngoài ra, bất kỳ chiến lược tạo kiểu nào bạn có thể quyết định sử dụng, về cơ bản nó vẫn là CSS. Bạn có thể viết CSS như bạn vẫn thường làm, nhưng React và các thư viện khác cung cấp các giải pháp cũng có thể giúp tạo kiểu Tôi hy vọng bạn thích làm việc thông qua hướng dẫn này. Bạn luôn có thể đọc thêm về Tạo kiểu cho các Thành phần Phản ứng từ các tài liệu tham khảo bên dưới. Nếu bạn có bất kỳ câu hỏi nào, hãy để lại nhận xét bên dưới và tôi sẽ sẵn lòng trả lời từng câu hỏi
Có biểu định kiểu trong React không?
Viết CSS trong biểu định kiểu có lẽ là cách tiếp cận cơ bản và phổ biến nhất để tạo kiểu cho ứng dụng React , nhưng bạn không nên dễ dàng bỏ qua cách này. Các kiểu viết trong biểu định kiểu CSS "đơn giản" ngày càng trở nên tốt hơn, do ngày càng có nhiều tính năng có sẵn trong tiêu chuẩn CSS.
Làm cách nào để cài đặt CSS trong React?
Sử dụng các mô-đun CSS thực sự rất đơn giản. . Đầu tiên, tạo một tệp CSS bình thường. . Thêm các lớp CSS vào tệp này. . Nhập mô-đun bạn vừa tạo từ bên trong thành phần của mình, như thế này. . Để sử dụng một lớp được xác định trong mô-đun của bạn, chỉ cần coi nó như một thuộc tính bình thường từ đối tượng kiểu, như
Cách tốt nhất để tạo kiểu trong React là gì?
Những cách tốt nhất để tạo kiểu cho ứng dụng React-JS . kiểu nội tuyến tập tin phong cách toàn cầu SASS/SCSS mô-đun CSS CSS-in-JS |