Table of Contents
To output fixed content in JSX, directly use UTF-8 characters {code...}, use HTML escape characters {code...} or decimal escape characters {code...} Escape of dynamic content, but if you add a layer of curly brackets outside, in order to prevent XSS from escaping the escaped character entities again, in this article we will share with you the HTML escaping method in React. " >To output fixed content in JSX, directly use UTF-8 characters {code...}, use HTML escape characters {code...} or decimal escape characters {code...} Escape of dynamic content, but if you add a layer of curly brackets outside, in order to prevent XSS from escaping the escaped character entities again, in this article we will share with you the HTML escaping method in React.
Escape of dynamic content
Reference
Output fixed content in JSX
Home Web Front-end HTML Tutorial HTML escaping in React

HTML escaping in React

Dec 06, 2017 pm 02:17 PM
html react Writing method

To output fixed content in JSX, directly use UTF-8 characters {code...}, use HTML escape characters {code...} or decimal escape characters {code...} Escape of dynamic content, but if you add a layer of curly brackets outside, in order to prevent XSS from escaping the escaped character entities again, in this article we will share with you the HTML escaping method in React.

  1. Use UTF-8 characters directly

    <p>版权 ©</p>
    Copy after login
    Copy after login
  2. Use HTML escape characters

    <p>版权 &copy;</p>
    Copy after login
    Copy after login

    or Decimal escape characters

    <p>版权 &#169;</p>
    Copy after login
    Copy after login

Escape of dynamic content

But if you add a layer of curly brackets outside, react will use the escaped characters to prevent xss Character entities are escaped again

React will escape all strings to be displayed to the DOM to prevent XSS. Therefore, if JSX contains escaped entity characters, such as © (©), it will not be displayed correctly in the final DOM because React automatically escapes the special characters in ©.

<p>{'版权 &#169;'}</p>
Copy after login
Copy after login

Error output

版权 &#169;
Copy after login
Copy after login

Correct writing:

  1. Using UTF-8 characters directly can still output correctly

    <p>{'版权 ©'}</p>
    Copy after login
    Copy after login
  2. The safe way is to use the corresponding Unicode code

    <p>{'版权 \u00a9'}</p>
    Copy after login
    Copy after login
  3. Use fromCharCode

    <p>{'版权 ' + String.fromCharCode(169)}</p>
    Copy after login
    Copy after login
  4. Use array assembly

    <p>{['版权 ', <span>&#169;</span>]}</p>
    Copy after login
    Copy after login
  5. Use dangerouslySetInnerHTML to avoid React escape characters

    <p dangerouslySetInnerHTML={{ __html: &#39;版权 &#169;&#39; }} />
    Copy after login
    Copy after login

Reference

  1. JSX Gotchas

  2. Deep into the react technology stack


Output fixed content in JSX

  1. Use UTF-8 characters directly

    <p>版权 ©</p>
    Copy after login
    Copy after login
  2. Use HTML escape characters

    <p>版权 &copy;</p>
    Copy after login
    Copy after login

    or decimal escape characters

    <p>版权 &#169;</p>
    Copy after login
    Copy after login

Escape of dynamic content


But if you add a layer of braces outside, react will escape the escaped character entity again in order to prevent xss

React will escape all strings to be displayed in the DOM to prevent XSS. Therefore, if JSX contains escaped entity characters, such as © (©), it will not be displayed correctly in the final DOM because React automatically escapes the special characters in ©.

<p>{'版权 &#169;'}</p>
Copy after login
Copy after login

Error output

版权 &#169;
Copy after login
Copy after login

Correct writing:

  1. Using UTF-8 characters directly can still output correctly

    <p>{'版权 ©'}</p>
    Copy after login
    Copy after login
  2. The safe way is to use the corresponding Unicode code

    <p>{'版权 \u00a9'}</p>
    Copy after login
    Copy after login
  3. Use fromCharCode

    <p>{'版权 ' + String.fromCharCode(169)}</p>
    Copy after login
    Copy after login
  4. Use array assembly

    <p>{['版权 ', <span>&#169;</span>]}</p>
    Copy after login
    Copy after login
  5. Use dangerouslySetInnerHTML to avoid React escape characters

    <p dangerouslySetInnerHTML={{ __html: &#39;版权 &#169;&#39; }} />
    Copy after login
    Copy after login

The above content is the HTML escape writing method in React, I hope it can help everyone.

Related recommendations:

What are the ways to write components in React

The difference between setState in React and Preact

React event system knowledge

The above is the detailed content of HTML escaping in React. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Two Point Museum: All Exhibits And Where To Find Them
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Table Border in HTML Table Border in HTML Sep 04, 2024 pm 04:49 PM

Guide to Table Border in HTML. Here we discuss multiple ways for defining table-border with examples of the Table Border in HTML.

Nested Table in HTML Nested Table in HTML Sep 04, 2024 pm 04:49 PM

This is a guide to Nested Table in HTML. Here we discuss how to create a table within the table along with the respective examples.

HTML margin-left HTML margin-left Sep 04, 2024 pm 04:48 PM

Guide to HTML margin-left. Here we discuss a brief overview on HTML margin-left and its Examples along with its Code Implementation.

HTML Table Layout HTML Table Layout Sep 04, 2024 pm 04:54 PM

Guide to HTML Table Layout. Here we discuss the Values of HTML Table Layout along with the examples and outputs n detail.

HTML Ordered List HTML Ordered List Sep 04, 2024 pm 04:43 PM

Guide to the HTML Ordered List. Here we also discuss introduction of HTML Ordered list and types along with their example respectively

Moving Text in HTML Moving Text in HTML Sep 04, 2024 pm 04:45 PM

Guide to Moving Text in HTML. Here we discuss an introduction, how marquee tag work with syntax and examples to implement.

How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

HTML Input Placeholder HTML Input Placeholder Sep 04, 2024 pm 04:54 PM

Guide to HTML Input Placeholder. Here we discuss the Examples of HTML Input Placeholder along with the codes and outputs.

See all articles