当前位置:首页 > 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 字符串时使用此方法,但需严格过滤内容。

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

注意事项

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

react如何调用js

标签: reactjs
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Ja…

如何优化react

如何优化react

优化 React 性能的方法 使用 React.memo 或 PureComponent 对于函数组件,使用 React.memo 进行记忆化,避免不必要的重新渲染。类组件可以使用 PureCompo…

如何改造react

如何改造react

改造 React 项目的关键方法 分析当前项目结构 通过评估现有组件、状态管理和依赖项,明确需要改进的部分。使用工具如 webpack-bundle-analyzer 识别性能瓶颈。 升级 Rea…

react 如何调试

react 如何调试

调试 React 应用的方法 使用 React Developer Tools 安装 Chrome 或 Firefox 的 React Developer Tools 扩展,可以检查组件树、状态和 p…