diff --git a/javascript/ql/src/semmle/javascript/frameworks/ReactNative.qll b/javascript/ql/src/semmle/javascript/frameworks/ReactNative.qll
new file mode 100644
index 00000000000..8d554bf55f1
--- /dev/null
+++ b/javascript/ql/src/semmle/javascript/frameworks/ReactNative.qll
@@ -0,0 +1,16 @@
+/**
+ * Provides classes for working with [React Native](https://facebook.github.io/react-native) code.
+ */
+
+import javascript
+
+module ReactNative {
+ /** A `WebView` JSX element. */
+ class WebViewElement extends DataFlow::ValueNode, DataFlow::DefaultSourceNode {
+ override JSXElement astNode;
+
+ WebViewElement() {
+ DataFlow::moduleMember("react-native", "WebView").flowsToExpr(astNode.getNameExpr())
+ }
+ }
+}
diff --git a/javascript/ql/test/library-tests/frameworks/ReactNative/WebView.expected b/javascript/ql/test/library-tests/frameworks/ReactNative/WebView.expected
new file mode 100644
index 00000000000..52f25858228
--- /dev/null
+++ b/javascript/ql/test/library-tests/frameworks/ReactNative/WebView.expected
@@ -0,0 +1 @@
+| webview.js:6:12:6:56 | |
diff --git a/javascript/ql/test/library-tests/frameworks/ReactNative/WebView.ql b/javascript/ql/test/library-tests/frameworks/ReactNative/WebView.ql
new file mode 100644
index 00000000000..5d4d0ce0ea6
--- /dev/null
+++ b/javascript/ql/test/library-tests/frameworks/ReactNative/WebView.ql
@@ -0,0 +1,4 @@
+import javascript
+
+from ReactNative::WebViewElement wv
+select wv
diff --git a/javascript/ql/test/library-tests/frameworks/ReactNative/webview.js b/javascript/ql/test/library-tests/frameworks/ReactNative/webview.js
new file mode 100644
index 00000000000..462cbdeec4a
--- /dev/null
+++ b/javascript/ql/test/library-tests/frameworks/ReactNative/webview.js
@@ -0,0 +1,8 @@
+import { Component } from 'react';
+import { WebView } from 'react-native';
+
+class LgtmView extends Component {
+ render() {
+ return ;
+ }
+}