问题描述:
一句话:使用RNRF框架,界面跳转、返回、再跳转 会出现旧的界面。
情景重现:
1. Scene1 跳转Scene2 【Actions.scene2()】
2. Scene2 返回 【Actions.pop()】
3. 再次 Scene1 跳转Scene2 【Actions.scene2()】
Bug来了,显示的是步骤1的界面。第3步进来的时候 生命周期(constructor、componentDidMount...)都没有调用. 费解
刚遇到这个问题,脑子一下子转不过弯,其实很容易想到,上个界面没有销毁。
解决方案:
const onPress = () => {
InteractionManager.runAfterInteractions(() => {
Actions.someSceneB({ data });
});
};
终极解决方案 :
<Router duration={150} ...>
蛮尴尬的,最近做RN的一个界面,一个BUG解决到现在,之前每次遇到BUG都会忒着急,现在遇到BUG ,【机器严格执行编译指令,一定是代码有问题。】