- vừa được xem lúc

Xây dựng nút chuyển Chế Độ Tối trong React với Tailwind CSS

0 0 1

Người đăng: Thái Thịnh

Theo Viblo Asia

Chế độ tối (Dark mode) là một tính năng phổ biến giúp cải thiện khả năng đọc và giảm mỏi mắt trong môi trường thiếu sáng. Với Tailwind CSS và React, việc triển khai chuyển đổi giữa giao diện sáng và tối khá đơn giản. Trong hướng dẫn này, chúng ta sẽ cùng đi qua từng bước cụ thể.

Bước 1: Khởi tạo ứng dụng React

Bắt đầu bằng cách tạo một dự án React mới bằng Vite hoặc Create React App:

npx create-react-app dark-mode-toggle
cd dark-mode-toggle
npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

Sau đó, cấu hình file tailwind.config.js như sau:

module.exports = { content: ["./src/**/*.{js,jsx,ts,tsx}"], darkMode: 'class', theme: { extend: {}, }, plugins: [],
}

Bước 2: Tạo chức năng chuyển đổi chế độ

Trong component chính của bạn (ví dụ: App.js), sử dụng state để thêm hoặc gỡ class dark cho phần tử gốc (document.documentElement):

import { useEffect, useState } from "react"; function App() { const [darkMode, setDarkMode] = useState(false); useEffect(() => { if (darkMode) { document.documentElement.classList.add("dark"); } else { document.documentElement.classList.remove("dark"); } }, [darkMode]); return ( <div className="min-h-screen flex items-center justify-center bg-white dark:bg-gray-900 text-black dark:text-white"> <button onClick={() => setDarkMode(!darkMode)} className="px-4 py-2 rounded bg-gray-200 dark:bg-gray-800"> Toggle Dark Mode </button> </div> );
} export default App;

Bước 3: Styling với lớp dark: của Tailwind

Sử dụng prefix dark: của Tailwind để định kiểu cho các phần tử trong chế độ tối. Trong ví dụ trên, chúng ta thay đổi màu nền và màu chữ tùy theo chế độ.

Kết luận

Với React và Tailwind CSS, việc thêm một nút chuyển chế độ tối là rất nhanh chóng và dễ tùy biến. Đây là một cách tuyệt vời để cải thiện trải nghiệm người dùng và khiến dự án của bạn trở nên chuyên nghiệp hơn.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tìm hiểu về Redux Thunk

Chào mọi người, nếu bạn là người đã biết về React và đang làm quen với Redux chắc hẳn bạn đang rất mơ hồ về các khái niệm cơ bản của Redux như dispatch, store, action creator,... bạn còn đang vật lộn với đống document của Redux để hiểu những khái niệm đó và bạn nghe ai đó trong team nói về Redux Thu

0 0 403

- vừa được xem lúc

[React] Giới thiệu tổng quát về Redux Toolkit

1. Redux Toolkit (RTK) là gì và tại sao lại có nó. . .

0 0 6.7k

- vừa được xem lúc

Uống Pepsi code Vue đi - Uống Cocacola code React nha ;)

. (Nguồn ảnh: Internet). Chào các bạn, chào các bạn. Let's go . 1.

0 0 153

- vừa được xem lúc

Cài đặt taillwind css cho dự án React

Trong bài viết cùng mình tìm hiểu cách cài đặt tailwind css cho một dự án React sẵn có. .

0 0 152

- vừa được xem lúc

Formik vs React Hook Form (Phần 1)

Các lập trình viên Front End đều làm việc rất nhiều với form cùng sự phức tạp của ứng dụng. Do vậy chúng ta cần những thư viện form mạnh mẽ hỗ trợ quản lý các form state, form validation... Thành phần module. Formik bao gồm có 9 dependencies khác. . React Hook Form thì không có.

0 0 376

- vừa được xem lúc

Hướng dẫn React Redux cho người mới bắt đầu - Phần 1

Lời mởi đầu. Chào các bạn, ở thời điểm thực hiện bài viết này mình cũng là một người đang bắt đầu tìm hiểu và học với ReactJs và Redux, trong quá trình tìm hiểu đọc các tài liệu về thư viện này mình có tìm được một bài hướng dẫn khá hay nên đã quyết định chia sẻ với mọi người .

0 0 287