2016-12-31 22 views
2

是否可以爲需要特定導入的React和React-Native創建混合包,例如使用React-Native我將不得不導入AsyncStorage但我不需要這個React(使用localStorage)。如何製作需要特定導入的混合包React/React-Native

所以我想知道,如果這是可行的,以處理這兩種情況使用條件檢測,如果應用程序是反應本地或不。

回答

0

對於那些誰可以通過庫的實現有興趣在未來的需要針對React的特定導入以及React-Native的特定導入,但無法混合使用,您需要爲庫創建商店,如果可以使用React代碼初始化它,則可以在代碼中初始化並創建一個setter函數將創建一個新的商店來注入特定的依賴關係。

0

爲了檢測應用程序是否是React-Native,您需要使用特定於平臺的邏輯。據this commit,你應該能夠通過檢查:

navigator.product === 'ReactNative'

而且在這裏看到具體的平臺: https://facebook.github.io/react-native/docs/platform-specific-code.html

+1

我測試了一下,效果很好,但是我仍然堅持進口圖書館,以防其反應本機或不是。 – awzx

+0

動態導入通過'require'完成。看到這裏:http://stackoverflow.com/questions/35914712/es6-conditional-dynamic-import-statements – Scott

+0

實際上,它已經解決了在上下文中注入庫的全局變量。 – awzx