当前位置:首页 > React

react中如何写原生js

2026-01-25 18:34:35React

在 React 中编写原生 JavaScript 可以通过以下几种方式实现,具体取决于使用场景和需求:

直接操作 DOM

React 推荐使用虚拟 DOM 进行更新,但在某些情况下需要直接操作真实 DOM。可以通过 useRefdocument.getElementById 获取 DOM 节点:

import { useRef, useEffect } from 'react';

function Example() {
  const divRef = useRef(null);

  useEffect(() => {
    if (divRef.current) {
      divRef.current.style.backgroundColor = 'red';
    }
  }, []);

  return <div ref={divRef}>This div will be red</div>;
}

使用原生事件监听

React 封装了合成事件系统,但也可以直接使用原生事件监听:

useEffect(() => {
  const handleClick = () => console.log('Native click');
  document.addEventListener('click', handleClick);

  return () => document.removeEventListener('click', handleClick);
}, []);

调用原生 API

可以直接调用浏览器原生 API,例如 localStoragefetch 等:

useEffect(() => {
  localStorage.setItem('key', 'value');
  const data = localStorage.getItem('key');
  console.log(data);
}, []);

动态加载脚本

需要引入第三方库或执行特定脚本时,可以直接操作 script 标签:

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

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

绕过 React 的更新机制

在极少数情况下需要强制更新 DOM,可以通过 dangerouslySetInnerHTML 或直接操作 DOM:

function RawHTML() {
  const html = '<span>Raw HTML</span>';
  return <div dangerouslySetInnerHTML={{ __html: html }} />;
}

注意事项

  • 直接操作 DOM 可能破坏 React 的虚拟 DOM 一致性,应谨慎使用。
  • 原生事件监听需注意清理,避免内存泄漏。
  • dangerouslySetInnerHTML 可能导致 XSS 攻击,需确保内容安全。

react中如何写原生js

标签: 如何写react
分享给朋友:

相关文章

react中monent如何获取日期

react中monent如何获取日期

使用 Moment.js 获取当前日期 在 React 中通过 Moment.js 获取当前日期,可以直接调用 moment() 函数。它会返回包含当前日期和时间的 Moment 对象。 impor…

react moment如何使用

react moment如何使用

安装 react-moment 通过 npm 或 yarn 安装 react-moment: npm install react-moment 或 yarn add react-moment…

如何react页面

如何react页面

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

react 如何分页

react 如何分页

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

react如何运行

react如何运行

运行React项目的步骤 安装Node.js 确保系统已安装Node.js(建议版本12以上),可从官网下载并安装。Node.js自带npm包管理器,用于后续依赖安装。 创建React项目 使用官方…

react架构如何

react架构如何

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