ReactJS - renderIntoDocument()
React 是 Web 开发领域中用于创建用户界面的强大库。将 React 元素渲染到文档对象模型 (DOM) 中是一个重要的过程。在本教程中,我们将简单介绍 renderIntoDocument() 函数及其工作原理。
renderIntoDocument() 函数是 React 的一部分,负责在网页上显示 React 元素。它将元素显示在文档中的单独空间中,与其余内容分开。
renderIntoDocument() 的主要目标是使 React 组件在网页上可见。当我们想要将 React 内容显示在与文档其余部分不同的区域中时,它特别有用。
语法
renderIntoDocument(element)
参数
element − 它是一个 React 元素,它会被渲染为文档中分离的 DOM 节点。
返回值
在 React 中,renderIntoDocument() 函数不会立即返回任何内容。但是,它执行一项任务:它将 React 元素转换为文档中单独的 DOM 节点。这意味着指定的 React 元素显示在网页的特定区域中。
示例
示例 −显示计数器
在此应用中,我们将显示一个计数器,该计数器最初从 0 开始,并在 1 秒后更新为 1,因为我们将以 1000 毫秒为单位进行模拟。因此,此应用的代码如下 −
// 导入 React 和 ReactDOM import React from 'react'; import ReactDOM from 'react-dom'; // 为计数器创建 React 元素 const counterElement = <p>Count: 0</p>; // 将计数器元素渲染为分离的 DOM 节点 const domContainer = document.createElement('div'); ReactDOM.createRoot(domContainer).render(counterElement); document.body.appendChild(domContainer); // 1 秒后更新 setTimeout(() => { const updatedCounterElement = <p>Count: 1</p>; ReactDOM.createRoot(domContainer).render(updatedCounterElement); }, 1000);
输出

示例 − 创建一个简单的表单
在此应用中,我们将使用 React JS 创建一个简单的表单,其中包含一个文本输入和一个提交按钮。因此,其代码如下 −
// 导入 React 和 ReactDOM import React from 'react'; import ReactDOM from 'react-dom'; // 为简单表单创建一个 React 元素 const formElement = ( <form> <label> Name: <input type="text" /> </label> <br /> <button type="submit">Submit</button> </form> ); // 将表单元素渲染为分离的 DOM 节点 const domContainer = document.createElement('div'); ReactDOM.createRoot(domContainer).render(formElement); document.body.appendChild(domContainer);
输出

示例 − 显示包含动态内容的列表
现在我们将创建一个应用程序,其中我们将显示一个动态项目列表(最初是水果),并在 2 秒后更新列表以包含不同的水果。因此,此应用程序的代码如下 −
// 导入 React 和 ReactDOM import React from 'react'; import ReactDOM from 'react-dom'; // 为动态列表创建 React 元素 const items = ['Apple', 'Banana', 'Orange']; const listElement = ( <ul> {items.map((item, index) => ( <li key={index}>{item}</li> ))} </ul> ); // 将列表元素渲染为分离的 DOM 节点 const domContainer = document.createElement('div'); ReactDOM.createRoot(domContainer).render(listElement); document.body.appendChild(domContainer); // 2秒后更新 setTimeout(() => { const updatedItems = ['Grapes', 'Kiwi', 'Mango']; const updatedListElement = ( <ul> {updatedItems.map((item, index) => ( <li key={index}>{item}</li> ))} </ul> ); ReactDOM.createRoot(domContainer).render(updatedListElement); }, 2000);
输出

注意
需要注意的是,为了使 renderIntoDocument() 正常工作,一些全局对象(如 window、window.document 和 window.document.createElement)应该可用。这确保 React 可以访问 DOM 并执行渲染操作。
总结
因此,我们已经了解了 renderIntoDocument() 方法的工作原理以及如何将此功能付诸实践。这需要文档对象模型 (DOM) 才能正常运行。它类似于一组特定的操作,其中创建 DOM 容器,并使用 ReactDOM.createRoot().render() 将提供的 React 元素渲染到其中。