2017-03-17 75 views
2

我尝试在本地.html文件加载到WebView阵营本地(阵营母语)加载本地HTML文件到的WebView

// load local .html file 
const PolicyHTML = require('./Policy.html'); 

// PolicyHTML is just a number of `1` 
console.log('PolicyHTML:', PolicyHTML); 

// will cause an error: JSON value '1' of type NSNumber cannot be converted to NSString 
<WebView html={PolicyHTML} /> 

.html文件应被理解为一个字符串,而不是作为一种资源代表。

如何将.html文件加载到WebView的React Native中?


顺便说一句,那些来自require()的资源代表的类型是什么?是number

+0

您是否找到了解决方案?请更新正确答案。 – Rai

+0

@Rai还没有。 :( –

回答

6

尝试:

const PolicyHTML = require('./Policy.html'); 

<WebView 
    source={PolicyHTML} 
    style={{flex: 1}} 
/> 
+0

您能解释一下这段代码的功能吗,或者它为什么起作用? –

+0

它可以在开发环境中工作。在发行版本中,请点击此链接:https://github.com/facebook/react-native/issues/505 – Fmussap

+0

@Fmussap,嗯,但我在iOS发行版上使用这个解决方案,它的工作原理是 –

0

试试这个:

  • 添加您的.html文件在您的项目。代码
  • 写这样的文件中的行要使用的WebView组件

    const OurStoryHTML = require ('./OurStory.html')

  • <WebView source={OurStoryHTML} style={{flex: 1, marginTop : 44}} />

它可以帮助你。

0
<View style={{flex: 1}}> 
    <WebView 
     style={{flex: 1}} 
     source={require("./resources/index.html")} 
    /> 
</View> 

要制作WebView,父级必须具有维度或flex:1。我们可以将WebView设置为flex:1,以填充父项。

相关问题