Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menambah Teg Skrip dengan Cekap pada Komponen React/JSX?

Bagaimana untuk Menambah Teg Skrip dengan Cekap pada Komponen React/JSX?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-09 04:48:101026semak imbas

How to Efficiently Add Script Tags to React/JSX Components?

Menambah Tag Skrip pada React/JSX

Dalam React/JSX, terdapat beberapa pendekatan untuk menggabungkan skrip sebaris. Satu penyelesaian yang berpotensi adalah untuk mencipta fungsi dalam komponen yang memasang skrip ke dalam DOM. Contohnya:

componentDidMount() {
  const script = document.createElement("script");
  script.src = "https://use.typekit.net/foobar.js";
  script.async = true;
  document.body.appendChild(script);
}

Walau bagaimanapun, kaedah ini tidak sesuai jika skrip sudah wujud dalam DOM atau perlu dimuatkan beberapa kali.

Pendekatan yang lebih berkesan ialah memanfaatkan pakej pengurus seperti npm untuk memasang skrip sebagai modul. Ini memudahkan proses penyepaduan dan menjadikan skrip boleh diakses untuk import:

import {useEffect} from 'react';

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);
  };
}, []);

Teknik ini memastikan skrip dimuatkan sekali sahaja apabila komponen dipasang dan dialih keluar apabila komponen dinyahlekap.

Untuk meningkatkan lagi pendekatan ini, cangkuk tersuai boleh dibuat untuk mengendalikan proses pemuatan skrip:

import { useEffect } from 'react';

const useScript = (url) => {
  useEffect(() => {
    const script = document.createElement('script');
    script.src = url;
    script.async = true;
    document.body.appendChild(script);
    return () => {
      document.body.removeChild(script);
    };
  }, [url]);
};

export default useScript;

Kail tersuai ini kemudiannya boleh digunakan dalam mana-mana komponen yang memerlukan skrip:

import useScript from 'hooks/useScript';

const MyComponent = props => {
  useScript('https://use.typekit.net/foobar.js');
  // Rest of the component code
};

Atas ialah kandungan terperinci Bagaimana untuk Menambah Teg Skrip dengan Cekap pada Komponen React/JSX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn