0

设置刷卡回移动多个场景

“反应”: “16.0.0-alpha.3”,

“反应原生”: “0.43.1”,

“反应天然路由器通量”: “^ 16年3月26日”

预期行为

在滑回手势上,我希望只动画一个场景,然后回到那个场景。

实际行为

不时(+ - 50%),滑动后面手势动画1个或多个场景。尽管在向后滑动的过程中它动画多个场景,但它在任何情况下都会回溯到单个场景。

enter description here

步骤来重现

给予以下场景层次,做刷回退姿势

<Router createReducer={createNavigationReducer}> 
    <Scene key="auth" component={RootScene} hideNavBar initial={true} /> 
    <Scene key="sceneLogin"> 
    <Scene key="sceneLogin1" component={LoginScene} title="Login" renderLeftButton={renderLeftButton} /> 
    </Scene> 
    <Scene key="sceneRegister"> 
    <Scene key="sceneRegister1" 
     component={RegistrationScene} title="New User" renderLeftButton={renderLeftButton} /> 
    <Scene key="sceneRegister2" 
     component={RegistrationScene2} title="New User2" /> 
    </Scene> 
</Router> 

减速(基本)

export const createNavigationReducer = (params) => { 
    const defaultReducer = Reducer(params); 
    return (state, action) => { 
    if (__DEV__) { 
     /* eslint-disable no-console */ 
     if (console.group) console.group('Navigation:'); 
     console.log('ACTION:', action); 
     if (console.groupEnd) console.groupEnd(); 
     /* eslint-enable no-console */ 
    } 

    console.log(defaultReducer(state, action)); 
    return defaultReducer(state, action); 
    }; 
}; 

导航行动

//根视图( “新用户” 按钮)

新用户 - > Actions.sceneRegister

//新用户现场

go next - > Actions.sceneRegister2

回答

1

在场景中使用panHandlers={null}