sách gpt4 ai đã đi

Shadow DOM có nhanh bằng Virtual DOM trong React.js không?

In lại Tác giả: IT Prince Thời gian cập nhật: 2023-10-29 02:49:09 32 4
mua khóa gpt4 Nike

Việc triển khai Shadow DOM vào các dự án của tôi có giúp chúng nhanh hơn như Virtual DOM được React sử dụng không?

1 Câu trả lời

Chúng là những thứ khác nhau với mục đích khác nhau, do đó việc so sánh hiệu suất là không có ý nghĩa.

DOM ảo

DOM ảo được thiết kế để tránh những thay đổi không cần thiết đối với DOM, vốn gây tốn kém về mặt hiệu suất vì những thay đổi đối với DOM thường khiến trang phải hiển thị lại. Virtual DOM cũng cho phép thu thập nhiều thay đổi để áp dụng đồng thời, do đó không phải mọi thay đổi đều gây ra việc hiển thị lại, mà việc hiển thị lại chỉ xảy ra một lần sau khi một tập hợp các thay đổi đã được áp dụng cho DOM.

DOM bóng tối

Shadow dom chủ yếu liên quan đến việc đóng gói triển khai. Một phần tử tùy chỉnh duy nhất có thể triển khai logic ít nhiều phức tạp và DOM ít nhiều phức tạp. Bạn có thể nhập và <ứng-dụng-của-tôi> Thêm toàn bộ các ứng dụng web có độ phức tạp tùy ý vào một trang, nhưng các thành phần đơn giản hơn có thể tái sử dụng và cấu hình được cũng có thể được triển khai dưới dạng các thành phần tùy chỉnh, trong đó biểu diễn bên trong được ẩn trong DOM bóng tối, chẳng hạn như .

Đóng gói kiểuShadow DOM cũng ngăn chặn các kiểu được áp dụng vô tình cho các phần tử mà nhà thiết kế không mong muốn, ví dụ như vì thư viện CSS hoặc thành phần bạn đang sử dụng đã thay đổi bộ chọn hiện áp dụng cho các phần tử khác sử dụng cùng tên lớp CSS. Các kiểu được thêm vào một thành phần sẽ được giới hạn trong thành phần đó, ngăn chặn việc các kiểu bị tràn ra ngoài hoặc tràn vào trong.

Shadow DOM và hiệu suất

Mặc dù shadow DOM không chủ yếu liên quan đến hiệu suất nhưng nó cũng có tác động đến hiệu suất. Do các kiểu có phạm vi, trình duyệt có thể cho rằng một số thay đổi nhất định chỉ ảnh hưởng đến một khu vực giới hạn của trang (DOM bóng của phần tử tùy chỉnh), điều này có thể giới hạn việc hiển thị lại ở khu vực của thành phần đó thay vì hiển thị lại toàn bộ trang.

Đây là >>> Lý do, /sâu/ , Và ::bóng tốiCác bộ kết hợp CSS cho phép áp dụng các kiểu trên ranh giới Shadow DOM đã lỗi thời và sẽ sớm bị xóa khỏi Chrome (AFAIK) (các trình duyệt khác chưa bao giờ có chúng). Sự hiện diện của các bộ kết hợp này ngăn cản loại tối ưu hóa được đề cập ở đoạn trước.

Góc2 Tận dụng những lợi ích tốt nhất của cả hai thế giới.

Nó sử dụng luồng dữ liệu một chiều và chỉ chạy chức năng phát hiện thay đổi trên mô hình. Nếu phát hiện ra những thay đổi, nó sẽ khiến DOM được cập nhật bằng cách cập nhật các ràng buộc và tạo ra các chỉ thị cấu trúc như *ngĐối với , *ngNếu , ...cập nhật DOM. Do đó, DOM chỉ được cập nhật khi mô hình thực sự thay đổi.

Angular2 sử dụng DOM bóng tối (chỉ dành cho ViewEncapsulation.Bản địa Các thành phần (hiện không phải là mặc định) để tận dụng các tính năng đóng gói kiểu do trình duyệt cung cấp hoặc (hiện là mặc định) để mô phỏng đóng gói kiểu bằng cách ghi đè các kiểu được thêm vào thành phần, như một giải pháp tạm thời cho đến khi các biến DOM bóng gốc và CSS (để thay đổi kiểu toàn cục động) trở nên phổ biến rộng rãi.

Giới thiệu về dom - Shadow DOM có nhanh bằng Virtual DOM trong React.js không? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/36012239/

32 4 0
Bài viết được đề xuất: jquery beforeunload khi đóng (không thoát) trang?
Bài viết được đề xuất: JSON @thuộc tính
Bài viết được đề xuất: Các vấn đề khi tuần tự hóa một lớp thành XML và bao gồm một phần CDATA
Bài viết được đề xuất: Hợp nhất hai đối tượng bằng ES6
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com