当前位置:首页 > React

react如何调用js

2026-02-11 16:45:05React

调用 JavaScript 函数

在 React 中直接调用 JavaScript 函数可以通过以下方式实现。将函数定义在组件外部或单独的文件中,通过 import 引入后直接调用。

// utils.js
export function greet(name) {
  return `Hello, ${name}!`;
}

// React 组件
import { greet } from './utils';

function App() {
  const message = greet('World');
  return <div>{message}</div>;
}

使用 eval(谨慎使用)

动态执行字符串形式的 JavaScript 代码可通过 eval,但需注意安全风险(如 XSS 攻击)。

function DangerousComponent() {
  const code = 'console.log("This is eval")';
  useEffect(() => {
    eval(code); // 仅在可信内容中使用
  }, []);
  return null;
}

动态加载外部脚本

通过 script 标签或 import() 动态加载第三方 JavaScript 文件。

useEffect(() => {
  const script = document.createElement('script');
  script.src = 'https://example.com/external.js';
  script.async = true;
  document.body.appendChild(script);

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

使用 window 对象

全局函数或库挂载到 window 后,可直接通过 window 调用。

// 外部脚本定义
window.myLib = { showAlert: () => alert('Loaded!') };

// React 组件
function AlertComponent() {
  useEffect(() => {
    window.myLib?.showAlert();
  }, []);
  return null;
}

通过 dangerouslySetInnerHTML 注入

渲染包含 JavaScript 的 HTML 字符串时使用此方法,但需严格过滤内容。

react如何调用js

function HTMLInjection() {
  const html = '<button onclick="alert(\'Clicked\')">Click</button>';
  return <div dangerouslySetInnerHTML={{ __html: html }} />;
}

注意事项

  • 避免直接执行用户输入的代码,防止安全漏洞。
  • 动态加载脚本时考虑资源依赖和加载顺序。
  • 优先使用模块化导入而非全局变量。

标签: reactjs
分享给朋友:

相关文章

js实现轮播

js实现轮播

实现基础轮播效果 使用HTML结构创建轮播容器和图片元素: <div class="carousel"> <div class="carousel-inner">…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

react如何查

react如何查

React 查询方法 React 提供了多种查询 DOM 元素的方式,以下是几种常见的方法: 使用 ref 通过 useRef 钩子可以获取 DOM 节点的引用,适用于直接操作 DOM 的场景。…

react架构如何

react架构如何

React 架构核心概念 React 的架构围绕组件化、虚拟 DOM 和单向数据流设计。组件是构建用户界面的独立模块,分为函数组件和类组件。虚拟 DOM 通过高效的 Diff 算法减少直接操作真实 D…

react如何卸载

react如何卸载

卸载 React 项目或依赖 如果需要完全卸载 React 项目或相关依赖,可以按照以下步骤操作: 删除项目文件夹 直接删除整个项目文件夹是最彻底的方式。确保已备份重要代码或配置文件。 卸载全局安…

react如何迭代

react如何迭代

在 React 中迭代数组或对象 React 提供了多种方式来处理数组或对象的迭代,以下是常见的方法: 使用 map 方法迭代数组 map 是 JavaScript 数组的内置方法,常用于在 Rea…