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}