React Native 原生模塊封裝(Android篇)
前言
? ? 有時(shí)候React Native沒有相應(yīng)的模塊, API無法滿足我們的需要時(shí),或者我們需要復(fù)用Object-C, Swift或者Java代碼的時(shí)候,而又不是用JavaScript重新實(shí)現(xiàn)一邊蛔六,又或者你需要實(shí)現(xiàn)某些高性能、多線程的代碼然走,譬如圖片處理嵌戈、數(shù)據(jù)庫脚囊、或者各種高級(jí)擴(kuò)展等等徊都。
我們把React Native設(shè)計(jì)為可以在其基礎(chǔ)上編寫真正的原生代碼,并且可以訪問平臺(tái)所有的能力支示。這是一個(gè)相對高級(jí)的特性呻畸,我們并不認(rèn)為它應(yīng)當(dāng)在日常開發(fā)的過程中經(jīng)常出現(xiàn),但具備這樣的能力是很重要的悼院。如果React Native還不支持某個(gè)你需要的原生特性伤为,你應(yīng)當(dāng)可以自己實(shí)現(xiàn)該特性的封裝。然后提供出Android或者IOS共用的接口給React Native調(diào)用
用法
第一步:
????在React Native中, 一個(gè)本地的“原生模塊”其實(shí)就是實(shí)現(xiàn)了RCTBridgeModule協(xié)議的Objective-C類据途。其中RCT是ReaCT的縮寫绞愚。
1. 實(shí)現(xiàn)RCTBridgeModule
2. 包含RCT_EXPORT_MODULE()宏,?這個(gè)宏也可以添加一個(gè)參數(shù)用來指定在Javascript中訪問這個(gè)模塊的名字。如果你不指定颖医,默認(rèn)就會(huì)使用這個(gè)Objective-C類的名字位衩。3.?必須明確的聲明要給Javascript導(dǎo)出的方法,否則React Native不會(huì)導(dǎo)出任何方法熔萧。聲明通過RCT_EXPORT_METHOD()宏來實(shí)現(xiàn):
第二步:
1. React Native 中的用法?
綜上所述就是一個(gè)簡單的用法,最終如何使用還需要根據(jù)項(xiàng)目來變化糖驴。很少寫博客,代碼用的圖片佛致,下一篇關(guān)于Android的用法贮缕,我將使用markdown語法,盡量把代碼粘貼在文中。