- ReactJS 教程
- ReactJS - 首頁
- ReactJS - 簡介
- ReactJS - 路線圖
- ReactJS - 安裝
- ReactJS - 特性
- ReactJS - 優點與缺點
- ReactJS - 架構
- ReactJS - 建立 React 應用
- ReactJS - JSX
- ReactJS - 元件
- ReactJS - 巢狀元件
- ReactJS - 使用新建立的元件
- ReactJS - 元件集合
- ReactJS - 樣式
- ReactJS - 屬性 (props)
- ReactJS - 使用屬性建立元件
- ReactJS - props 驗證
- ReactJS - 建構函式
- ReactJS - 元件生命週期
- ReactJS - 事件管理
- ReactJS - 建立一個事件感知元件
- ReactJS - 在 Expense Manager 應用中引入事件
- ReactJS - 狀態管理
- ReactJS - 狀態管理 API
- ReactJS - 無狀態元件
- ReactJS - 使用 React Hooks 進行狀態管理
- ReactJS - 使用 React Hooks 進行元件生命週期管理
- ReactJS - 佈局元件
- ReactJS - 分頁
- ReactJS - Material UI
- ReactJS - Http 客戶端程式設計
- ReactJS - 表單程式設計
- ReactJS - 受控元件
- ReactJS - 非受控元件
- ReactJS - Formik
- ReactJS - 條件渲染
- ReactJS - 列表
- ReactJS - Keys
- ReactJS - 路由
- ReactJS - Redux
- ReactJS - 動畫
- ReactJS - Bootstrap
- ReactJS - 地圖
- ReactJS - 表格
- ReactJS - 使用 Flux 管理狀態
- ReactJS - 測試
- ReactJS - CLI 命令
- ReactJS - 構建和部署
- ReactJS - 示例
- Hooks
- ReactJS - Hooks 簡介
- ReactJS - 使用 useState
- ReactJS - 使用 useEffect
- ReactJS - 使用 useContext
- ReactJS - 使用 useRef
- ReactJS - 使用 useReducer
- ReactJS - 使用 useCallback
- ReactJS - 使用 useMemo
- ReactJS - 自定義 Hooks
- ReactJS 高階
- ReactJS - 可訪問性
- ReactJS - 程式碼分割
- ReactJS - Context
- ReactJS - 錯誤邊界
- ReactJS - 轉發 Refs
- ReactJS - 片段
- ReactJS - 高階元件
- ReactJS - 整合其他庫
- ReactJS - 最佳化效能
- ReactJS - Profiler API
- ReactJS - Portals
- ReactJS - 無 ES6 ECMAScript 的 React
- ReactJS - 無 JSX 的 React
- ReactJS - 調和
- ReactJS - Refs 和 DOM
- ReactJS - 渲染 Props
- ReactJS - 靜態型別檢查
- ReactJS - 嚴格模式
- ReactJS - Web Components
- 其他概念
- ReactJS - 日期選擇器
- ReactJS - Helmet
- ReactJS - 內聯樣式
- ReactJS - PropTypes
- ReactJS - BrowserRouter
- ReactJS - DOM
- ReactJS - 走馬燈
- ReactJS - 圖示
- ReactJS - 表單元件
- ReactJS - 參考 API
- ReactJS 有用資源
- ReactJS - 快速指南
- ReactJS - 有用資源
- ReactJS - 討論
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 毫秒模擬它。所以這個應用的程式碼如下所示:
// Importing React and ReactDOM
import React from 'react';
import ReactDOM from 'react-dom';
// Creating a React element for a counter
const counterElement = <p>Count: 0</p>;
// Render the counter element into a detached DOM node
const domContainer = document.createElement('div');
ReactDOM.createRoot(domContainer).render(counterElement);
document.body.appendChild(domContainer);
// Update after 1 second
setTimeout(() => {
const updatedCounterElement = <p>Count: 1</p>;
ReactDOM.createRoot(domContainer).render(updatedCounterElement);
}, 1000);
輸出
示例 - 建立一個簡單的表單
在這個應用中,我們將使用 React JS 建立一個帶有文字輸入和提交按鈕的簡單表單。所以同樣的程式碼如下所示:
// Importing React and ReactDOM
import React from 'react';
import ReactDOM from 'react-dom';
// Create a React element for a simple form
const formElement = (
<form>
<label>
Name:
<input type="text" />
</label>
<br />
<button type="submit">Submit</button>
</form>
);
// Render the form element into a detached DOM node
const domContainer = document.createElement('div');
ReactDOM.createRoot(domContainer).render(formElement);
document.body.appendChild(domContainer);
輸出
示例 - 顯示帶有動態內容的列表
現在我們將建立一個應用,在這個應用中我們將顯示專案的動態列表(最初是水果),並在 2 秒後更新列表以包含不同的水果。所以這個應用的程式碼如下所示:
// Importing React and ReactDOM
import React from 'react';
import ReactDOM from 'react-dom';
// Create a React element for a dynamic list
const items = ['Apple', 'Banana', 'Orange'];
const listElement = (
<ul>
{items.map((item, index) => (
<li key={index}>{item}</li>
))}
</ul>
);
// Render the list element into a detached DOM node
const domContainer = document.createElement('div');
ReactDOM.createRoot(domContainer).render(listElement);
document.body.appendChild(domContainer);
// Update after 2 seconds
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 元素渲染到其中。