gpt4 book ai didi

android - React native 热重载刷新但不更新更改

转载 作者:行者123 更新时间:2023-11-29 17:16:17 35 4
gpt4 key购买 nike

我了解 React 的基础知识,并在 React 上做过一些个人项目。现在我从 react-native 开始.

所以我创建了一个新项目并运行了 run-android 命令。它完成了所有必需的处理并启动了模拟器(我正在使用 Genymotion android 模拟器),

react-native init AwesomeProject
cd AwesomeProject
react-native run-android

之后,我在模拟器中启用了热重载。打开项目并稍微更改代码。然后进入模拟器,我按 r(两次),它显示 fetching bundle。但我得到同样的东西。什么都没有改变。更改不会更新。

所以,我关闭终端并再次运行相同的命令

react-native run-android

然后...它显示了变化。我不知道这里出了什么问题。我看到了this post并认为这可能有帮助。但它没有。

我做错了什么?我使用的是 react-native 0.30.0 和 Node v6.3.1。如果有帮助,我在 Windows 7 上运行 nexus 6P 作为 Genymotion android 模拟器。

最佳答案

回答我自己的问题。 This post帮助了我。

在这个文件中\node_modules\react-native\node_modules\node-haste\lib\FileWatcher\index.js

  1. 我不得不增加 MAX_WAIT_TIME(我从 120000 改为 360000)。
  2. 也得改

这个

key: '_createWatcher',
value: function _createWatcher(rootConfig) {
var watcher = new WatcherClass(rootConfig.dir, {
glob: rootConfig.globs,
dot: false
});

return new Promise(function (resolve, reject) {
var rejectTimeout = setTimeout(function () {
return reject(new Error(timeoutMessage(WatcherClass)));
}, MAX_WAIT_TIME);

watcher.once('ready', function () {
clearTimeout(rejectTimeout);
resolve(watcher);
});
});
}

进入

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);
});
});
}

现在更改后,我所做的任何代码更改,我什至不必按两次 R,它会自动更改。我希望这可以帮助像我这样的菜鸟。谢谢。

关于android - React native 热重载刷新但不更新更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38726377/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com