在react-native项目中setTimeout 中的代码会立即执行,一直找不到原因,在react项目中没发现这个问题。
如果使用setInterval的话,也会立即执行一次,然后正常定时触发。。
我试过将setTimeout代码放在其他js文件下,还试过放在生命周期函数和事件触发里面,都不能起到延迟的效果。感觉整个项目配置是不是出了问题。。
网上找了很久都没看见类似的问题。
随便写个延时器:
package.json:
最外层index.js文件:
入口文件:
在react-native项目中setTimeout 中的代码会立即执行,一直找不到原因,在react项目中没发现这个问题。
如果使用setInterval的话,也会立即执行一次,然后正常定时触发。。
我试过将setTimeout代码放在其他js文件下,还试过放在生命周期函数和事件触发里面,都不能起到延迟的效果。感觉整个项目配置是不是出了问题。。
网上找了很久都没看见类似的问题。
随便写个延时器:
package.json:
最外层index.js文件:
入口文件:
这问题已经4年了,还是没有准确答案么?
我的react-native版本是0.59.9,ios14, mac11,在现在react-native和ios算是比较老的版本了。我出现这个问题的原因是手机时间和电脑时间不一致,同时我又开启了本地调试。我将手机的系统时间调整到和电脑一致,然后settimeout就可以正常执行了。或者关闭本地调试,也可以正常执行。
方法是在#9436里面找到的,github里面有较为明确的说明。但是我不确定我的方法在其他项目有没有效果。
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
3 回答868 阅读✓ 已解决
试试关闭chrome debugger
参考#9436