Làm cách nào để phân tích cú pháp HTML trong chuỗi React?
Trong hướng dẫn này, chúng ta sẽ xem cách hiển thị chuỗi HTML trong thành phần React Show
Hầu hết trình soạn thảo văn bản đa dạng thức cho phản ứng đều sử dụng html để định dạng. Vì vậy, dữ liệu trong trình soạn thảo văn bản được lưu dưới dạng chuỗi
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình Chúng tôi không thể hiển thị trực tiếp chuỗi này, các thẻ html cũng sẽ được coi là chuỗi thô Giải pháp đơn giản nhất cho việc này là sử dụng một cách nguy hiểmSetInnerHTML
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình bằng cách sử dụng DangerlySetInnerHTML, toàn bộ html trong chuỗi được giữ nguyên. Thích bài đăng này? Làm việc với JSON đủ lâu, bạn có nhiều khả năng bắt gặp một tập dữ liệu có HTML được nhúng trong một chuỗi dưới dạng một trong các trường. Nếu bạn muốn có thể hiển thị dữ liệu này trong React. js đồng thời tính đến kiểu dáng của HTML bên trong, có một gói dễ sử dụng có tên React HTML Parser sẽ xử lý công việc cho bạn Nếu bạn muốn hiển thị mã HTML lưu trữ dưới dạng một chuỗi trong một biến chuỗi, trước tiên, bạn phải chuyển chuỗi đó sang HTML. Tôi thảo luận về hai cách để chuyển đổi chuỗi thành HTML trong bài viết này
Đây là một ví dụ về những gì sẽ xảy ra nếu tôi hiển thị HTML được lưu trữ trong một biến chuỗi. Nội dung hiển thị như nó là. Điều đó tương tự như phương thức InternalText của Javascript Hình 1. Phản ứng kết xuất chuỗi htmlSử dụng nguy hiểmSetInnerHTML của ReactTuy nhiên, React Js cố tình làm điều này. Nó ngăn chặn XSS (kịch bản chéo trang). Do đó, các nhà thiết kế React Js đã đặt tên cho phương thức cho phép bạn phân tích cú pháp một chuỗi thành HTML là DangerlySetInnerHTML. Đây là cách sử dụng nó. Không sử dụng nguy hiểmSetInnerHTML để hiển thị HTML có nguồn gốc từ các nguồn không đáng tin cậy. Chúng có thể chứa XSS nhắm mục tiêu người dùng cuối Hình 2. Phản ứng Js một cách nguy hiểmSetInnerHTMLSử dụng gói npm html-Reac-ParserNếu bạn cần nhiều tính năng hơn như hiển thị có điều kiện, nối thêm, thay thế, v.v. , gói NPM html-react-parser có thể xử lý hầu hết chúng Bây giờ, bạn có thể thấy rằng bảng được hình thành từ giá trị trạng thái và được hiển thị trên màn hình như hình bên dưới Đây là cách sử dụng thuộc tính some data Lưu ý rằng bạn không nên sử dụng thuộc tính này trừ khi bạn cần hiển thị nội dung tĩnh vì nó thu hút cuộc tấn công tập lệnh chéo trang, đây không phải là môi trường phù hợp cho bất kỳ ứng dụng web nào Sử dụng thư viện của bên thứ baBạn đã học được cách tiếp cận đơn giản để phân tích các giá trị trạng thái bằng cách sử dụng some data
Trong hướng dẫn này, bạn sẽ tìm hiểu về phân tích cú pháp HTML bằng thư viện ______43 . Để sử dụng thư viện, hãy cài đặt nó bằng lệnh
vỏ bọc quyền lực Sau khi cài đặt thư viện, hãy nhập nó như hình bên dưới
jsx Bây giờ bạn có thể sử dụng thư viện để hiển thị cùng một đánh dấu HTML mà chúng tôi đã sử dụng trong ví dụ trên ________số 8 jsx Bây giờ bạn có giá trị trạng thái dưới dạng nội dung đánh dấu, bước tiếp theo là sử dụng thư viện và phân tích cú pháp HTML
jsx Trong ví dụ trên, có một phần Hàm được sử dụng là Vì vậy, khi bạn thực thi ứng dụng, bạn có thể thấy rằng HTML dự kiến đã được hiển thị và đưa ra kết quả mong muốn Phần kết luậnPhân tích cú pháp HTML là một nhiệm vụ quan trọng liên quan đến việc hiển thị nội dung HTML dựa trên các yêu cầu khác nhau, như sử dụng giá trị đến từ đối tượng trạng thái Làm cách nào để chuyển đổi HTML thành văn bản trong phản ứng JS?Easiest - Use Unicode, save the file as UTF-8 and set the charset to UTF-8. {'First · Second'} .An toàn hơn - Sử dụng số Unicode cho thực thể bên trong chuỗi Javascript. . Hoặc một mảng hỗn hợp với các chuỗi và phần tử JSX. . Phương sách cuối cùng - Chèn HTML thô bằng cách sử dụng một cách nguy hiểmSetInnerHTML Làm cách nào để chuyển đổi HTML sang JSX trong React?Khi chuyển đổi HTML sang JSX, có 5 bước bạn cần áp dụng. . Tất cả các tên chống đỡ đều tuân theo camelCase Thuộc tính số sử dụng dấu ngoặc nhọn Boolean 'true' có thể được viết chỉ bằng tên thuộc tính. . Thuộc tính 'class' được viết là 'className' Kiểu nội tuyến được cung cấp dưới dạng đối tượng Tại sao nên sử dụng trình phân tích cú pháp HTML React?Trình phân tích cú pháp HTML React chuyển đổi chuỗi HTML trực tiếp thành các thành phần React . Tránh sử dụng nguy hiểmSetInnerHTML và chuyển đổi các phần tử, thuộc tính và kiểu nội tuyến HTML tiêu chuẩn thành các phần tử tương đương React của chúng. Mã đó trông không đẹp và rất khó đọc. Vì vậy, bạn muốn mã có tổ chức và dễ đọc hơn.
Trình phân tích cú pháp React HTML có an toàn không?React là một framework phổ biến để xây dựng một ứng dụng JS frontend hiện đại. Theo mặc định, liên kết dữ liệu trong React diễn ra theo cách an toàn, giúp các nhà phát triển tránh các sự cố Cross-Site Scripting (XSS). Tuy nhiên, dữ liệu được sử dụng bên ngoài các liên kết dữ liệu đơn giản thường dẫn đến các lỗ hổng XSS nguy hiểm |