当前位置:首页 > React

react中如何使用原生js

2026-03-11 13:49:07React

在 React 中使用原生 JavaScript

React 是一个基于 JavaScript 的库,因此可以直接在 React 组件中使用原生 JavaScript 代码。以下是几种常见的使用方式:

直接在组件中编写原生 JavaScript

可以在 React 组件的生命周期方法、事件处理函数或任何函数中直接使用原生 JavaScript 代码。

import React from 'react';

function ExampleComponent() {
  const handleClick = () => {
    // 原生 JavaScript 代码
    const element = document.getElementById('myElement');
    element.style.backgroundColor = 'red';
  };

  return (
    <div>
      <button onClick={handleClick}>Change Color</button>
      <div id="myElement">This is a div</div>
    </div>
  );
}

export default ExampleComponent;

使用 useEffect 钩子执行原生 JavaScript

useEffect 钩子可以用来在组件渲染后执行原生 JavaScript 代码,例如操作 DOM 或添加事件监听器。

import React, { useEffect } from 'react';

function ExampleComponent() {
  useEffect(() => {
    // 原生 JavaScript 代码
    const element = document.getElementById('myElement');
    element.addEventListener('click', () => {
      alert('Element clicked!');
    });

    // 清理函数
    return () => {
      element.removeEventListener('click', () => {
        alert('Element clicked!');
      });
    };
  }, []);

  return (
    <div id="myElement">Click me</div>
  );
}

export default ExampleComponent;

在 React 中使用原生 JavaScript 库

可以直接在 React 中引入和使用原生 JavaScript 库,例如 jQuery 或其他第三方库。

import React, { useEffect } from 'react';
import $ from 'jquery';

function ExampleComponent() {
  useEffect(() => {
    // 使用 jQuery
    $('#myElement').css('color', 'blue');
  }, []);

  return (
    <div id="myElement">This text is blue</div>
  );
}

export default ExampleComponent;

动态生成脚本或样式

可以通过 useEffect 动态添加原生 JavaScript 脚本或样式。

react中如何使用原生js

import React, { useEffect } from 'react';

function ExampleComponent() {
  useEffect(() => {
    // 动态添加脚本
    const script = document.createElement('script');
    script.src = 'https://example.com/script.js';
    script.async = true;
    document.body.appendChild(script);

    // 动态添加样式
    const link = document.createElement('link');
    link.rel = 'stylesheet';
    link.href = 'https://example.com/style.css';
    document.head.appendChild(link);

    // 清理函数
    return () => {
      document.body.removeChild(script);
      document.head.removeChild(link);
    };
  }, []);

  return (
    <div>Dynamic script and style added</div>
  );
}

export default ExampleComponent;

注意事项

  • 尽量避免直接操作 DOM,因为 React 通过虚拟 DOM 管理渲染,直接操作 DOM 可能导致不一致的状态。
  • 如果需要操作 DOM,优先使用 React 的 ref 机制。
  • useEffect 中执行副作用时,记得清理资源(如事件监听器、定时器等)。

分享给朋友:

相关文章

react如何衰减

react如何衰减

React 中的动画衰减效果实现 在 React 中实现衰减效果(如滚动衰减、拖动释放后的惯性滑动)通常需要结合物理动画原理或第三方动画库。以下是几种常见方法: 使用 CSS 动画和 @keyfra…

如何用react

如何用react

使用React的基本步骤 安装Node.js和npm 确保系统已安装Node.js和npm。Node.js自带npm,可从官网下载安装包。安装完成后,通过命令行验证版本: node -v npm -…

react如何重置

react如何重置

重置 React 应用的状态 使用 useState 钩子重新初始化状态变量是最直接的方法。将状态变量重置为初始值或空值即可完成重置。 const [count, setCount] = useSt…

如何监控react性能

如何监控react性能

使用 React Profiler API React 16.5 及以上版本内置了 Profiler API,可直接测量组件渲染时间。通过 <React.Profiler> 包裹目标组件,…

react如何滚动scroll

react如何滚动scroll

React 实现滚动的方法 使用 useRef 和 scrollTo 方法 通过 useRef 获取 DOM 元素的引用,调用 scrollTo 方法实现滚动。 import React, { us…

如何搭建react项目

如何搭建react项目

使用 Create React App 搭建项目 Create React App (CRA) 是官方推荐的快速搭建 React 项目的工具,无需配置构建工具(如 Webpack 或 Babel)。…