我刚开始使用React Native。我连接了智能手机,在react-native run-android
后我可以看到" Hello World"屏幕上。但是,当我改变" Hello World"到其他东西,保存文件,然后点击我的设备上的重新加载命令(握手后),我看不到任何变化。我需要react-native run-android
再次看到新事物。我正在使用Windows 10.此外,构建需要花费大量时间。我读过类似的东西,但没有找到任何合理的解决方案。有人可以帮忙吗?
另外:有时当我点按Reload
时,我需要按打包服务器终端输入,重新加载视图,但不会显示更改。
答案 0 :(得分:3)
我遇到了同样的问题并找到了几个解决方案。以下内容对我有用:
使用> 0.29 react-native-versions启用重新加载
- 转到档案:
醇>yourProjectFolder//node_modules/react-native/local-cli/server/server.js
- 推荐第(62)行:process.exit(11) - > //process.exit(11)
关于第2点:我不确定自2.1的解决方案。需要,但我认为〜反应原生v.33。如果有人确切知道,请更正此问题。如果您在2.或2.1处找到index.js,请查看。路径。
2.1( React-Native FileWatcher index.js 的旧路径)转到文件:
yourProjectFolder//node_modules/react-native/node_modules\node-haste\lib\FileWatcher\index.js"
2.2( React-Native FileWatcher index.js的新路径)转到文件:
yourProjectFolder\node_modules\react-native\packager\react-packager\src\node-haste\FileWatcher\index.js
2.1 + 2.2的步骤1
Increase
文件顶部的index.js
:MAX_WAIT_TIME=120000
> MAX_WAIT_TIME=360000
function (_createWatcher)
更改为:2.1的步骤2(index.js的旧路径)
key: '_createWatcher',
value: function _createWatcher(rootConfig) {
var watcher = new WatcherClass(rootConfig.dir, {
glob: rootConfig.globs,
dot: false
});
return new Promise(function (resolve, reject) {
const rejectTimeout = setTimeout(function() {
reject(new Error([
'Watcher took too long to load',
'Try running `watchman version` from your terminal',
'https://facebook.github.io/watchman/docs/troubleshooting.html',
].join('\n')));
}, MAX_WAIT_TIME);
watcher.once('ready', function () {
clearTimeout(rejectTimeout);
resolve(watcher);
});
});
}
2.2的步骤2(index.js的新路径)
_createWatcher(rootConfig) {
var watcher = new WatcherClass(rootConfig.dir, {
glob: rootConfig.globs,
dot: false
});
return new Promise(function (resolve, reject) {
const rejectTimeout = setTimeout(function() {
reject(new Error([
'Watcher took too long to load',
'Try running `watchman version` from your terminal',
'https://facebook.github.io/watchman/docs/troubleshooting.html',
].join('\n')));
}, MAX_WAIT_TIME);
watcher.once('ready', function () {
clearTimeout(rejectTimeout);
resolve(watcher);
});
});
}
此解决方案对我有用。希望如果我错了,我可以帮助你并纠正我。