当前位置:首页 > 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页面

创建 React 页面 使用 create-react-app 快速初始化项目: npx create-react-app my-app cd my-app npm start 基础页面结构 在 s…

react 如何分页

react 如何分页

分页实现方法 在React中实现分页功能可以通过多种方式完成,具体取决于数据来源(如API或本地数据)和UI库的选择。以下是常见的实现方法: 使用本地数据分页 对于存储在组件状态或Context中…

react如何读

react如何读

React 的发音 React 的发音为 /riˈækt/(音标),读作“瑞-艾克特”。其中: “Re” 发音类似英文单词 “read” 的开头部分。 “act” 发音与英文单词 “act” 一…

如何安装react

如何安装react

安装React的方法 方法一:使用Create React App(官方推荐) Create React App是官方提供的脚手架工具,适合快速搭建React项目。确保已安装Node.js(建议版本≥…

如何提高react

如何提高react

优化性能 使用React.memo对组件进行记忆化处理,避免不必要的重新渲染。对于类组件,可以使用PureComponent来达到类似效果。 利用useMemo缓存计算结果,避免重复计算。对于函数或…