有時(shí)候我們在寫RN頁面時(shí)候需要用到比較復(fù)雜的處理,如果你還不太熟悉如何用JS去寫(比如我)或者原生APP中已經(jīng)實(shí)現(xiàn)了這個(gè)復(fù)雜的功能,那么我們可以考慮在RN頁面中調(diào)用原生應(yīng)用中的方法.將處理后的數(shù)據(jù)再返回給RN頁面使用.這個(gè)時(shí)候我們就需要知道RN頁面是如何調(diào)用原生方法的
下面根據(jù)我自己實(shí)際經(jīng)驗(yàn)來梳理下整個(gè)過程:
首先在你要調(diào)用的原生類中的.h文件中導(dǎo)入#import <React/RCTBridgeModule.h>
#import <React/RCTLog.h>頭文件.
在類后面寫上這個(gè)<RCTBridgeModule>協(xié)議,意思就是要實(shí)現(xiàn)這個(gè)協(xié)議里面的如下圖

01.png
然后在.m實(shí)現(xiàn)文件中寫上
RCT_EXPORT_MODULE();這個(gè)宏.在需要調(diào)用的方法中這樣寫:

02.png
在RN頁面中引入要調(diào)用的原生文件

03.png
方法調(diào)用時(shí)候:

04.png
注意:RN頁面調(diào)用原生方法時(shí)候返回值必須是void.只能在異步回調(diào)中傳回對應(yīng)數(shù)據(jù)