我创建了完整的离线ReactJS Web应用程序,并希望使用React-Native从Web View的android应用程序中运行它。
我按照以下步骤进行操作:
1.我创建了一个已编译的ReactJS Web应用程序,它使用以下命令获取了build
:
npm run build
import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View, WebView} from 'react-native';
import {roscon} from "./build/index.html";
type Props = {};
export default class App extends Component<Props> {
render() {
return (
<View style={{height: 300, width: 300,overflow:'hidden' }}>
<WebView
source={{uri: roscon}}
scalesPageToFit={true}
domStorageEnabled={true}
javaScriptEnabled={true}
startInLoadingState={true}
/>
</View>
);
}
}
运行此代码后,我希望它能运行ReactJS Web应用程序,而不是白屏。
能否请您说明引起问题的原因以及如何使我的ReactJS Web App在react-native上运行?
注意:我能够使用npm命令运行生成的build
文件夹
serve -s build
但是我仍然不知道如何将其作为WebView移植到react-native项目中
答案 0 :(得分:0)
尝试正确要求html文件,并以这种方式将其传递到源prop:
<WebView
source={require('./build/index.html')}
/>
答案 1 :(得分:0)
经过研究和测试,我找到了解决方案。
我发现的主要问题是已编译的build
文件夹呈现为static html
。而且它需要server
才能提供页面。
因此,我遵循此link来获取build
项目以使其开始运行
然后,将其与nodejs Android Project Samples集成在一起,以使我的build
文件夹作为Webview在android中运行。
注意:我也尝试过react-snapshot
和react-snap
,但结果却不令人满意。