React原始碼學習 建立元件過程(2)

2021-09-13 16:16:31 字數 829 閱讀 2433

當使用react建立元件時,首先會呼叫instantiatereactcomponent,這是初始化元件的入口函式,它通過判斷node型別來區分不同元件的入口。

1.當node為空時,說明node不存在,則初始化空元件reactemptycomponent.create(instantiatereactcomponent)3.當node型別為字串或者數字時,則初始化文字元件reactnativecomponent.createinstancefortext(node)

4.如果其他情況的話則不做處理。

instatiatereactcomponent方法的原始碼如下:

//function instantiatereactcomponent(node, parentcompositetype) 

if(type node === 'object') else if(isinternatcomponenttype(element.type)) else

}else if(typeof node === 'string' || typeof node === 'number')else

//設定例項

instance.construct(node);

//初始化引數

instance._mountindex = 0;

instance._mountimage = null;

return instance

}

React原始碼解讀 元件的實現

react使用也有一段時間了,大家對這個框架褒獎有加,但是它究竟好在 呢?讓我們結合它的原始碼,一二!當前原始碼為react16,讀者要對react有一定的了解 上傳中.image 45230e 1541081363064 20 根據react官網上的例子,快速構建react專案 npm start...

React原始碼解析

距離第一篇 react原始碼解析 一 已經過去將近4個月的時間,由於是我第一次進行原始碼解析相關的寫作,思路和文筆還不夠成熟。一百多天以來,我基於讀者反饋反思這幾篇文章中的不足,同時也在不斷學習借鑑其他優秀作者的寫作方法和寫作思路。最終總結出對於自己的原始碼寫作來說,需要改進的幾點 1.示例 太多 ...

react 原始碼defaultProps實現

首先我們回顧一下 defaultprops 的用法import react from react render name hello react 這樣我們就可以得到乙個渲染出hello react的介面啦。此時的關鍵,在於需要理解 reactdom.render 實際執行了什麼方法。經過斷點除錯,我...