0

Setup-Swipe bewegt sich zurück mehrere Szenen

"reagieren": "16.0.0-alpha.3",

"reagieren-native": "0.43.1",

"reagieren-native-Router-Fluss": "^ 3.26.16"

Erwartetes Verhalten

Bei der Geste zum Zurückwischen erwarte ich, dass ich nur eine einzelne Szene animiere und zu dieser Szene zurückgehe.

tatsächliches Verhalten

Von Zeit zu Zeit (+ - 50%), Swipe zurück Geste beseelt 1 oder mehr Szenen. Obwohl während des Wischens mehrere Szenen animiert werden, geht es in jeder Situation um eine einzelne Szene zurück.

enter description here

Schritte

Give folgende Szene Hierarchie zu reproduzieren, zu tun Swipe zurück Geste

<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> 

Reducer (basic)

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); 
    }; 
}; 
Navigation

Aktionen

// Root-Ansicht (mit "New User" -Taste)

Neuer Benutzer -> Actions.sceneRegister

// Neuer Benutzer Szene

gehen Sie weiter -> Actions.sceneRegister2

Antwort

1

Verwenden Sie panHandlers={null} in Ihrer Szene.