The Fluid Navigator supports almost the same API as the StackNavigator in React Navigation.
To set up and configure the different screens available in the navigator, use the regular route config API from StackNavigator:
const Navigator = FluidNavigator({
home: { screen: HomeScreen },
register: { screen: RegisterScreen },
finish: { screen: FinishScreen },
});
Where each screen is a component to render.
You can configure transitions for the navigator similar to StackNavigator.
const transitionConfig = {
duration: 1500,
timing: Animated.timing,
easing: Easing.easing
};
const Navigator = FluidNavigator({ Screens }, { transitionConfig });
However, a custom transition (using screenInterpolator) will not work, as Fluid Navigator uses its own transition to the shared element and appear/disappear transitions.
FluidNavigator
supports gestures. To configure gesture support, add defaultNavigationOptions
to the navigator or navigationOptions
to individual screens:
const Navigator = FluidNavigator({
screen1: { screen: Screen1 },
screen2: { screen: Screen2, navigationOptions: { gesturesEnabled: false } },
screen3: { screen: Screen3 },
}, {
defaultNavigationOptions: { gesturesEnabled: true },
});
To change the direction (default is vertical), set the mode to card
| modal
:
const Navigator = FluidNavigator({
...
}, {
mode: 'card' // Horizontal gestures
});