我正在學習React,我認為這React.createElement(type, [props], [...children])只是一種封裝了DOM方法的方法。
所以,我認為這個React example:React.createElement('h1', {className: 'greeting'}, 'Hello, world!')會執行如下陳述句:
const element = document.createElement('h1');
element.setAttribute('class', 'greeting');
document.createTextNode('Hello World');
但是,我只是在他們的檔案中讀到此方法回傳此物件:
// Note: this structure is simplified
const element = {
type: 'h1',
props: {
className: 'greeting',
children: 'Hello, world!'
}
};
我還嘗試搜索該函式的內容,但從我找到的縮小版本來看,它主要指的是該物件的創建。同時,我看不到任何涉及DOM方法的內容。
有沒有人有更多關于它為什么創建一個物件的資訊,以及它如何與 HTML 通信?
uj5u.com熱心網友回復:
你可以閱讀reconciliation,閱讀Fiber 架構指南,并查看React DOM 源代碼以獲得非常全面的理解。
本質上,React DOM 充當調解器來協調 DOM 的狀態與這些物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/381399.html
