transitionConfig игнорируется - PullRequest
0 голосов
/ 11 июля 2019

Я использую это руководство - https://medium.com/async-la/custom-transitions-in-react-navigation-2f759408a053 - чтобы начать изучение пользовательских переходов в реагирующей навигации. Но даже при копировании и вставке кода он, похоже, не работает. Это может быть устаревшее руководство.

Пробовал с использованием кода из нескольких мест, в том числе с реагирующей навигационной документацией по этому вопросу, ни одно из них не работает. Пробовал протоколировать текст в определенные моменты (прокомментирую в коде).

//App.js file, this navigator is part of another navigator

const LightNav = createStackNavigator(
  {
    Landing: { screen: LandingScreenLight },
    Login: { screen: LoginScreenLight },
  }, 
  {
    transitionConfig: transitionRightToLeft, 
    //Tried logging here, log shows when transitions starts and ends
  },
)

//Other file for transition configs, it is imported in App.js

export const transitionRightToLeft = () => {
  return {
    transitionSpec: {
      duration: 750,
      easing: Easing.out(Easing.poly(4)),
      timing: Animated.timing,
      useNativeDriver: true,
    },
    screenInterpolator: sceneProps => {
        //Tried logging here, nothing shows   
      const { layout, position, scene } = sceneProps

      const thisSceneIndex = scene.index
      const width = layout.initWidth

      const translateX = position.interpolate({
        inputRange: [thisSceneIndex - 1, thisSceneIndex],
        outputRange: [width, 0],
      })

      return { transform: [ { translateX } ] }
    },
  }
}

Я ожидал перехода справа налево. Но получил значение по умолчанию снизу вверх.

...