Skip to content

Instantly share code, notes, and snippets.

@artyorsh
Created October 25, 2019 14:35
Show Gist options
  • Save artyorsh/26e43d4cb63a1edcfb8fbc93b22f3517 to your computer and use it in GitHub Desktop.
Save artyorsh/26e43d4cb63a1edcfb8fbc93b22f3517 to your computer and use it in GitHub Desktop.
Passing additional props to screens (Binding React Navigation 5 to Eva Design System)
export const AuthNavigator = (props: AuthNavigatorProps): React.ReactElement => {
const SignInNavigationScreen = (screenProps: SignInScreenProps): React.ReactElement => (
<SignInScreen {...screenProps} onAuthorized={props.onAuthorized}/>
);
const SignUpNavigationScreen = (screenProps: SignUpScreenProps): React.ReactElement => (
<SignUpScreen {...screenProps} onAuthorized={props.onAuthorized}/>
);
const ResetPasswordNavigationScreen = (screenProps: ResetPasswordScreenProps): React.ReactElement => (
<ResetPasswordScreen {...screenProps}/>
);
return (
<Stack.Navigator headerMode='none'>
<Stack.Screen name={AppRoute.SIGN_IN}>
{SignInNavigationScreen}
</Stack.Screen>
<Stack.Screen name={AppRoute.SIGN_UP}>
{SignUpNavigationScreen}
</Stack.Screen>
<Stack.Screen name={AppRoute.RESET_PASSWORD}>
{ResetPasswordNavigationScreen}
</Stack.Screen>
</Stack.Navigator>
);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment