React Native for Web implementation of RN's WebView
$ npm install react-native-web-webview --save
Alias the package in your webpack config:
resolve: {
alias: {
'react-native': 'react-native-web',
...
'WebView': 'react-native-web-webview',
}
}
Add the following rule to your webpack config:
const rule = {
test: /postMock.html$/,
use: {
loader: 'file-loader',
options: {
name: '[name].[ext]',
},
},
};
import WebView from 'WebView'; // don't import from react-native
See RN's doc.
Supported props are:
source
onMessage
scrollEnabled
injectedJavaScript
Additional, web-specific props are:
newWindow
: (boolean|{ name: string, features: string}) This will open the source in a new window, optionally giving it an internal name and custom features. By default, the name iswebview
and there are no features set. This is useful when your target has X-Frame-Options or a no-CORS policy. It currently only supports asource
prop with amethod
set toPOST
. Please feel free to do a PR to support more request types!title
: (string) This prop will set thewebview
title.
See the storybook.
PRs are welcome!