Реагируйте Навигация пользовательских переходов навигатора - PullRequest
7 голосов
/ 28 февраля 2020

Я хочу создать Stack Navigator, который может обрабатывать анимированные элементы c между двумя экранами. Fluid Transitions выглядел как библиотека, которую я мог бы использовать, но она не поддерживает react-navigation 5.X. Если есть пакет с такой функциональностью для response-navigation v5, это было бы замечательно.

Однако, если для v5 нет текущего пакета, я бы хотел расширить StackNavigator для обработки такого рода. функциональности. Мне удалось удалить анимацию по умолчанию для StackNavigator с помощью чего-то похожего на следующее (где transition - это bool, взятый в подпорке options для Stack.Screen:

const CustomTransitionStackNavigator = ({
  initialRouteName,
  children,
  screenOptions,
  ...rest
}) => {
  if (descriptors[state.routes[state.index].key].options.transition) {
    return (
      <View style={{ flex: 1 }}>
        {descriptors[state.routes[state.index].key].render()}
      </View>
    );
  }

  return (
    <StackView
      {...rest}
      descriptors={descriptors}
      navigation={navigation}
      state={state}
    />
  );
};

Я хотел бы иметь возможность использовать Context (или какой-либо другой метод) для передачи прогресса перехода потомкам сцены для обработки анимации. Есть ли какой-нибудь способ получить прогресс перехода в v5? это CustomTransitionStackNavigator нужно управлять этим состоянием? Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...