我有一個反應原生應用程序,我正在建設,併爲其中的一部分,我已經實現了我自己的自定義模塊(在這種情況下,一個webview)。我已經設置好了,一切正常,直到我在同一個屏幕上渲染兩個相同的模塊。反應本機模塊不能一起工作
一旦我在同一個屏幕上有兩個相同的模塊,Objective-C中調用onChange方法返回到javascript的代碼不再執行,我可以通過Javascript更長的時間與我的模塊通信。
我注意到,我的模塊的每個實例都有一個標籤或類似的東西,但我不知道該怎麼辦才能解決這個問題。
更新
基本上我添加了一些代碼,我可以看到的問題是,當新的模塊添加到屏幕上,它會覆蓋前一個模塊的回調。一旦新模塊離開屏幕,Objective-C中的回調仍然「聚焦」在最近呈現的模塊上...
這可能與此有關嗎?
ReactNative.findNodeHandle(this.refs[WEB_VIEW]);
編輯
我一直在找過一些開源代碼,我想我已經縮小的問題。基本上我的模塊由WebView和WebViewManager組成。 WebViews非常簡單,僅顯示網頁內容等,管理員負責控制其行爲。
scrollToTop() {
RNTWebViewManager.scrollToTop();
}
在該管理器將然後調用相應的方法:
當我想打電話從陣營本地模塊上的方法,我可以通過調用這樣的WebViewManager方法這樣做Objective-C的。但是,似乎一次在屏幕上顯示多個WebView實例時,管理者不知道要調用哪個實例,而是要求調用放置在屏幕上的最新實例。
在開源項目中,我看到他們通過傳遞來獲得特定的視圖標籤,然後由經理用它來調用他們的WebViews的正確實例,但我仍然試圖瞭解如何實現這一點。
這裏是下面的項目,我一直在尋找的鏈接: https://github.com/CRAlpha/react-native-wkwebview
你需要發佈一些代碼或沒有人能夠提供幫助。 –
不幸的是,沒有太多的代碼發佈... – Asleepace
好的東西,而不僅僅是解釋。例如,*「我已經實現了我自己的自定義模塊(在本例中是一個webview)。」*或*「Objective-C中的代碼將onChange方法調用回javascript」*或者你的意思是「*我注意到我的模塊的每個實例都有一個標籤或類似的東西「*。所有這些將是一個開始。 –