首頁 > web前端 > js教程 > 如何為 React 元件新增腳本標籤?

如何為 React 元件新增腳本標籤?

Linda Hamilton
發布: 2024-12-09 09:14:06
原創
972 人瀏覽過

How to Add Script Tags to React Components?

為 React/JSX 新增腳本標籤

在 React 中,新增內聯腳本可能是一項簡單的任務。要實現此目的,請考慮以下選項:

使用動態程式碼注入進行條件渲染:

import { Component } from 'react';

export default class extends Component {
    render() {
        if (process.env.NODE_ENV === 'production') {
            return (
                <script src="https://use.typekit.net/foobar.js" />
            );
        }

        return null;
    }
}
登入後複製

動態建立DOM 元素:

class Component extends React.Component {
    componentDidMount() {
        const script = document.createElement('script');

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

        document.body.appendChild(script);
    }

    render() {
        // ... Your component logic
    }
}
登入後複製

使用鉤子(useEffect帶清理):

import { useEffect, useRef } from 'react';

const useScript = (url) => {
  const ref = useRef(null);

  useEffect(() => {
    if (!ref.current) {
        const script = document.createElement('script');

        script.src = url;
        script.async = true;

        ref.current = script;
        document.body.appendChild(script);

        return () => {
          document.body.removeChild(script);
        };
    }
  }, [url]);
};
登入後複製

使用Hooks(useEffect 不含清理):

import { useEffect } from 'react';

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

    script.src = url;
    script.async = true;

    document.body.appendChild(script);
  }, [url]);
};
登入後複製

注意:如果您

注意:如果您注意:如果您想要在渲染期間動態取得和執行腳本,通常建議使用第一種方法,而其他方法適合在將元件掛載到DOM中時載入一次腳本。

以上是如何為 React 元件新增腳本標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板