teaset
teaset copied to clipboard
Overlay 关闭后有可能让路由重置
react-native:0.58.0
刚刚升级项目到0.58.0貌似这个问题还在,似乎是生命周期问题导致的
只是在当前页面显示了一个Overlay的弹出框,然后在弹出框关闭的那一刻,也就是调用hide就会导致这个问题
RN058.zip @rilyu 你好,我重要重现并制作出了出现问题的demo,是使用了react-native-router-flux的情况下,在当前页面显示Overlay,并且在回调事件内显示其他页面就会出现问题,不知道对解决这个bug是否有帮助
RN058.zip @rilyu 你好,我重要重现并制作出了出现问题的demo,是使用了react-native-router-flux的情况下,在当前页面显示Overlay,并且在回调事件内显示其他页面就会出现问题,不知道对解决这个bug是否有帮助
跟你一样,不过我用的是0.6.0的teaset,问题一样存在
@orzhtml 0.6.0的teaset我已经确定不和老版本兼容(react-native和react)
@orzhtml 0.6.0的teaset我已经确定不和老版本兼容(react-native和react)
我的是 rn: 0.57.5
这个可能不重要,重要的是 关闭弹窗后,路由某种情况下会被重置
@orzhtml 0.6.0的teaset我已经确定不和老版本兼容(react-native和react)
我的是 rn: 0.57.5
这个可能不重要,重要的是 关闭弹窗后,路由某种情况下会被重置
目前发现就是因为和react版本不兼容会导致重置路由,而且是特定情况下,比如我发的demo
@orzhtml 0.6.0的teaset我已经确定不和老版本兼容(react-native和react)
我的是 rn: 0.57.5 这个可能不重要,重要的是 关闭弹窗后,路由某种情况下会被重置
目前发现就是因为和react版本不兼容会导致重置路由,而且是特定情况下,比如我发的demo
等作者他有空了查下原因吧。 我路由被重置的原因应该是弹窗出来关闭后,又变更了数据 也就是说做了 setState
临时解决办法可以在hide后执行的代码中加个setTimeout 100毫秒 避免路由被重置
万能的setTimeout,,救了我一命,虽然我是在show的时候出现的问题。
@handsameliu shou也可以加timeout,而且,timeout只需要1毫秒即可
测试改下Overlay的hide源码,可以解决问题
static hide(key) {
setTimeout(()=>{
TopView.remove(key);
}, 1);
}