2017-04-20 37 views
0

我想使用的WebView顯示一些HTML內容React Native:如何在動態URL中使用require(path)?

這裏有一個例子:

return (
      <WebView 
        style={styles.container} 
        source={source} 
        scalesPageToFit={Boolean(true)} 
        onNavigationStateChange={this._onNavigationStateChange} /> 
    ) 

,爲變量,我需要有兩個不同的值:

1) android平臺我需要使用這樣的東西:

source = {uri: `file:///android_asset/contents/${languageId}text.html`} 

2)對於ios我需要使用s第m個。像這樣:

source = require(`../srv/localization/contents/${languageId}text.html`) 

對於android它運作良好,但對ios它不起作用。 此URL工作正常的iOS也

require(`../srv/localization/contents/entext.html`) 

據我所知,這是因爲動態URL($ {} languageId text.html)

的問題是如何使用動態URL的iOS的?

回答

3

正如你所發現的,你不能有動態的url對於需要。這是因爲要求在應用程序啓動時獲取源代碼,無論代碼位於何處。您shuld要求所有{} languageId的text.html和所需的變量傳遞給源:

var language = { 
    en: require(`../srv/localization/contents/entext.html`) 
    ... 
} 

和如下使用它:

source = require(language[en]) 
+0

請閱讀附: @Meysam Izadmehr – Dmitry

+0

@Dmitry,我編輯了與* var *一起使用的答案。 t –

+0

好的解決方案!!! – Dmitry

相關問題