Bài viết này hướng dẫn bạn cách sử dụng đúng Bootstrap 5 (phiên bản mới nhất tại thời điểm viết bài) trong Next. dự án js Show Đến cuối bài viết này, chúng ta sẽ có thể
Không chần chừ gì nữa, chúng ta hãy làm bẩn tay Các bướccài đặtBạn có thể thêm Bootstrap 5 vào Next. js bằng cách thực hiện lệnh sau
Thêm CSSĐể sử dụng các kiểu từ Bootstrap, chúng ta cần nhập thủ công tệp CSS của nó vào pages/_app. js (tạo một cái nếu nó không tồn tại)
Tại thời điểm này, bạn đã sẵn sàng để sử dụng các tính năng CSS của Bootstrap như thế này
Tuy nhiên các thành phần cần Javascript như dropdown, crash, accordion, carousel… sẽ KHÔNG hoạt động bình thường và sẽ gây ra lỗi ngay cả khi bạn import file Javascript của Bootstrap như thế này
Để khắc phục điều này, chúng ta phải làm thêm một bước Sử dụng các tính năng JavascriptBootstrap chỉ sử dụng một số đối tượng phía máy khách (cửa sổ, tài liệu) để xử lý các sự kiện. Mặt khác, Tiếp theo. js hiển thị ứng dụng ở cả phía máy chủ và phía máy khách. Không có cửa sổ hoặc tài liệu nào ở phía máy chủ;
Để tránh các lỗi đã đề cập, chúng tôi phải đảm bảo rằng các đối tượng cửa sổ và tài liệu chỉ được sử dụng ở phía máy khách. Điều đó có thể được thực hiện với hook useEffect
_ứng dụng hoàn chỉnh. tập tin js
Để rõ hơn, hãy xem ví dụ đầy đủ bên dưới ví dụXem trướcTrong bản demo này, chúng tôi có một số nút đẹp được tạo bằng Bootstrap. Nút chọn thả xuống là thứ cần Javascript để hoạt động Ghi chú. Kế tiếp. js 13 giới thiệu thư mục Tìm hiểu thêm về việc áp dụng dần dần Một 0Để override mặc định 2 như hình bên dưới
Đoạn mã trên là mặc định 4 vào thẻ Đây là cách khắc phục “lỗi tham chiếu. lỗi tài liệu không được xác định” mà bạn có thể gặp phải trong Node. js hoặc bằng công cụ như Next. js
Tôi mô tả đối tượng với nút. js nói riêng, không có cách nào để giải quyết vấn đề - bạn phải tìm vị trí cụ thể mà Bạn đang chạy mã giao diện người dùng trong môi trường phụ trợ Trong Tiếp theo. js, bạn có thể khắc phục sự cố này bằng cách gói mã bạn chạy trong điều kiện Mã có thể đang chạy trong cả hai trường hợp - giao diện người dùng, khi bạn điều hướng đến một trang bằng liên kết và phía máy chủ nếu bạn yêu cầu phía máy chủ vào trang của mình, chẳng hạn bằng cách chạy Trong trường hợp này, bạn có thể giới hạn tham chiếu đến
Và điều này sẽ khắc phục sự cố của bạn, vì bạn chỉ chạy mọi thứ bên trong điều kiện trong môi trường trình duyệt Tại sao tài liệu không được xác định trong nextjs?Lỗi xảy ra do tài liệu chỉ khả dụng bên trong trình duyệt chứ không phải trên máy chủ . Tiếp theo js thực thi mã này ở phía máy chủ và đó là lý do tại sao lỗi được ném.
Tại sao cửa sổ không được xác định trong Nextjs?Tiếp theo. js theo mặc định sẽ cố gắng sử dụng SSR cho trang web của bạn. Điều này có nghĩa là vì chúng tôi đang ở trên máy chủ chứ không phải trong trình duyệt nên đối tượng “cửa sổ” không tồn tại . Giải pháp cho việc này là buộc Next.
Nextjs có sử dụng bộ định tuyến phản ứng không?Trong React JS, chúng ta sẽ cài đặt một gói có tên là react-router-dom để triển khai định tuyến bên trong ứng dụng. Nhưng JS tiếp theo có bộ định tuyến sẵn có của riêng nó từ next/link , nhờ đó chúng ta có thể điều hướng giữa các trang.
Tôi có thể sử dụng useEffect trong JS tiếp theo không?Thêm hook useEffect() (hoặc Effect Hook) trong Next. js không tệ như người ta vẫn nghĩ . Hãy xem một ví dụ. Chúng tôi sẽ sử dụng useEffect để thêm trình xử lý sự kiện để xử lý khi người dùng cuộn. |