当前位置:首页 > React

react如何调用js

2026-02-26 02:54:46React

在 React 中调用 JavaScript

React 本身基于 JavaScript,因此可以直接在组件中编写 JavaScript 代码。以下是几种常见场景的调用方式:

内联 JavaScript 逻辑

在组件中直接编写 JavaScript 逻辑,例如条件渲染、事件处理等:

function MyComponent() {
  const [count, setCount] = useState(0);

  const handleClick = () => {
    setCount(count + 1); // JavaScript 逻辑
  };

  return (
    <button onClick={handleClick}>
      Clicked {count} times
    </button>
  );
}

调用外部 JavaScript 函数

从外部文件导入 JavaScript 函数并在组件中使用:

react如何调用js

// utils.js
export function formatDate(date) {
  return new Date(date).toLocaleDateString();
}

// MyComponent.jsx
import { formatDate } from './utils';

function MyComponent() {
  return <div>{formatDate('2023-01-01')}</div>;
}

使用生命周期方法

在类组件中通过生命周期方法调用 JavaScript:

class MyComponent extends React.Component {
  componentDidMount() {
    console.log('Component mounted'); // JavaScript 逻辑
  }

  render() {
    return <div>Hello World</div>;
  }
}

动态执行字符串代码

通过 eval()Function 构造函数执行字符串形式的 JavaScript(需谨慎使用):

react如何调用js

function executeCode() {
  const result = eval('2 + 2'); // 返回 4
  console.log(result);
}

使用 dangerouslySetInnerHTML

在需要渲染 HTML 字符串时使用(注意 XSS 风险):

function MyComponent() {
  const htmlString = '<script>console.log("Executed")</script>';
  return <div dangerouslySetInnerHTML={{ __html: htmlString }} />;
}

与 DOM API 交互

通过 useEffectuseLayoutEffect 调用原生 JavaScript DOM API:

function MyComponent() {
  useEffect(() => {
    document.title = 'New Title'; // 调用 DOM API
  }, []);

  return null;
}

注意事项

  • 避免在渲染过程中直接执行复杂计算,应使用 useMemouseCallback 优化性能
  • 谨慎使用 eval()dangerouslySetInnerHTML,可能引发安全漏洞
  • 推荐将业务逻辑与组件分离,保持代码可维护性

标签: reactjs
分享给朋友:

相关文章

js实现分页

js实现分页

分页的基本实现思路 在JavaScript中实现分页功能通常需要结合前端和后端逻辑。前端负责渲染分页控件和处理用户交互,后端负责提供分页数据。 前端分页实现 纯前端分页适用于数据量较小的情况,可以直…

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="slid…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获取 jQ…

react如何浮动

react如何浮动

使用 CSS 实现浮动 在 React 中实现浮动效果可以通过 CSS 的 float 属性完成。在组件的样式文件或内联样式中直接设置 float: left 或 float: right。…

react如何同步

react如何同步

React 同步状态管理方法 在 React 中实现同步状态管理,可以通过以下多种方式实现: 使用 useState 和 useEffect 钩子 通过 useState 定义状态,使用 useEf…