Heim > Web-Frontend > js-Tutorial > Wie füge ich Skript-Tags sicher zu React-Komponenten hinzu?

Wie füge ich Skript-Tags sicher zu React-Komponenten hinzu?

Barbara Streisand
Freigeben: 2024-12-18 07:09:11
Original
251 Leute haben es durchsucht

How to Safely Add Script Tags to React Components?

Hinzufügen eines Skript-Tags zu React/JSX

In React können Sie Inline-Skripte hinzufügen, indem Sie entweder hazardlySetInnerHTML verwenden oder ein Skriptelement erstellen der ComponentDidMount-Lebenszyklus Methode.

DangerouslySetInnerHTML verwenden

ermöglicht Ihnen die Angabe von Roh-HTML als Zeichenfolge. Beachten Sie jedoch, dass die Verwendung mit Vorsicht erfolgen sollte, da dadurch Sicherheitslücken entstehen. Zum Beispiel:

<script src="https://use.typekit.net/foobar.js"></script>
<script dangerouslySetInnerHTML={{__html: 'try{Typekit.load({ async: true });}catch(e){}'}}></script>
Nach dem Login kopieren

Dieser Ansatz führt jedoch möglicherweise nicht immer das gewünschte Skript aus.

Erstellen eines Skriptelements in ComponentDidMount

Bedenken Sie Folgendes:

componentDidMount () {
    const script = document.createElement("script");

    script.src = "https://use.typekit.net/foobar.js";
    script.async = true;

    document.body.appendChild(script);
}
Nach dem Login kopieren

Diese Methode fügt das Skript dynamisch in das ein DOM, wenn die Komponente gemountet wird.

Empfohlener Ansatz: Verwendung von npm-Paketen

Bevor Sie Inline-Skripting verwenden, wird empfohlen, zu überprüfen, ob ein vorgefertigtes npm-Paket verfügbar ist für das Skript, das Sie laden möchten. Wenn Sie beispielsweise Typekit laden möchten, können Sie das Typekit-Paket installieren und wie folgt importieren:

import Typekit from 'typekit';
Nach dem Login kopieren

Update: Verwendung von useEffect Hook

Mit der Einführung von Hooks können Sie useEffect verwenden, um Skripte effizienter zu laden:

useEffect(() => {
  const script = document.createElement('script');

  script.src = "https://use.typekit.net/foobar.js";
  script.async = true;

  document.body.appendChild(script);

  return () => {
    document.body.removeChild(script);
  }
}, []);
Nach dem Login kopieren

Das ist möglich Packen Sie diese Logik auch in einen benutzerdefinierten Hook ein, um die Wiederverwendbarkeit zu erleichtern.

Das obige ist der detaillierte Inhalt vonWie füge ich Skript-Tags sicher zu React-Komponenten hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage