我启动了一个简单的http服务器(from here):
from wsgiref.simple_server import make_server
def app(environ, start_response):
start_response('200 OK', [('Content-Type','text/html')])
yield b"<h1>Goodbye, World!</h1>"
server = make_server('127.0.0.1', 8080, app)
server.serve_forever()
使用:
python3 simple_serve.py
重定向到http://127.0.0.1:8080/
会显示“再见,世界!”。
然后我创建了一个新的React Native Project并将index.android.js
更改为:
import React, { Component } from 'react';
import {
AppRegistry,
WebView,
} from 'react-native';
export default class WebTest extends Component {
render() {
return (
<WebView
source= {{ uri: "http://127.0.0.1:8080/" }}
/>
);
}
}
AppRegistry.registerComponent('WebTest', () => WebTest);
“再见,世界!”没有出现,我收到一条警告说:
遇到错误加载页面
{"canGoForward"false,"code":-6,"canGoBack":false,"description":"net::ERR_CONNECTION_REFUSED","loading":false,"title":"","url":"http://127.0.0.1:8080/","target":5}
供参考,将http://127.0.0.1:8080/
更改为https://www.google.com
有效。
答案 0 :(得分:6)
使用该IP 10.0.2.2
而不是127.0.0.1
答案 1 :(得分:0)
我做得很成功:
adb reverse tcp:3000 tcp:3000
我的网络视图:
<WebView source={{uri: 'http://localhost:3000'}} ...
答案 2 :(得分:0)
我能够通过查找我的计算机的 IP 地址连接到 localhost。打开 cmd 提示符并为 mac 输入:
ifconfig | grep inet
视窗:
ipconfig/ALL
我的列在 inet 和 netmask exhttp://194.178.1.2:4242/ 之间,并且 Webview uri 工作正常
答案 3 :(得分:0)