前言

React Native的開發(fā)思路是通過組合各種組件來組織整個App,在大部分情況下通過組合View、Image等幾個基礎(chǔ)的組件,可以非常方便的實(shí)現(xiàn)各種復(fù)雜的跨平臺組件,不過在需要原生功能支持、對性能有要求的情況下還是需要進(jìn)行一定的原生的開發(fā),合理的組件實(shí)現(xiàn)方式可以降低使用和跨平臺的成本。

(底層實(shí)現(xiàn)分析參見:React-Native 渲染實(shí)現(xiàn)分析,本文僅討論組件開發(fā)方法)

React Native組件開發(fā)

RN的組件開發(fā)有幾種方式,JS組件、Native功能組件、NativeUI組件。JS組件是僅使用React Native自帶的組件進(jìn)行組合實(shí)現(xiàn)的組件,優(yōu)勢是跨平臺方便,但受限于RN實(shí)現(xiàn)的效果,一些復(fù)雜需求無法實(shí)現(xiàn)。而Native組件要強(qiáng)大許多,不過需要考慮平臺差異,提供統(tǒng)一的接口難度要大一些。

JS組件(熟悉React可略過)

JS組件是指僅靠RN本身自帶的組件開發(fā)的組件,是RN下最基礎(chǔ)的開發(fā)方式,大部分的組件都是JS組件。最大的好處是可以低成本的跨平臺。JS組件的開發(fā)體驗(yàn)跟React(Web)一致,區(qū)別在基礎(chǔ)標(biāo)簽不一樣,以及樣式定義方式不一樣。

網(wǎng)友評論