mirror of
https://github.com/zhigang1992/react-navigation.git
synced 2026-04-25 13:05:26 +08:00
fix: show deprecation warning for 'keyboardHandlingEnabled' prop
This commit is contained in:
@@ -40,14 +40,14 @@ function StackNavigator({
|
||||
// @ts-expect-error: mode is deprecated
|
||||
const mode = rest.mode as 'card' | 'modal' | undefined;
|
||||
|
||||
// @ts-expect-error: headerMode='none' is deprecated
|
||||
const headerMode = rest.headerMode as StackHeaderMode | 'none' | undefined;
|
||||
|
||||
warnOnce(
|
||||
mode != null,
|
||||
`Stack Navigator: 'mode="${mode}"' is deprecated. Use 'presentation: "${mode}"' in 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/stack-navigator#presentation for more details.`
|
||||
);
|
||||
|
||||
// @ts-expect-error: headerMode='none' is deprecated
|
||||
const headerMode = rest.headerMode as StackHeaderMode | 'none' | undefined;
|
||||
|
||||
warnOnce(
|
||||
headerMode === 'none',
|
||||
`Stack Navigator: 'headerMode="none"' is deprecated. Use 'headerShown: false' in 'screenOptions' instead.\n\nSee https://reactnavigation.org/docs/stack-navigator/#headershown for more details.`
|
||||
@@ -58,6 +58,21 @@ function StackNavigator({
|
||||
`Stack Navigator: 'headerMode' is moved to 'options'. Moved it to 'screenOptions' to keep current behavior.\n\nSee https://reactnavigation.org/docs/stack-navigator/#headermode for more details.`
|
||||
);
|
||||
|
||||
// @ts-expect-error: headerMode='none' is deprecated
|
||||
const keyboardHandlingEnabled = rest.keyboardHandlingEnabled;
|
||||
|
||||
warnOnce(
|
||||
keyboardHandlingEnabled !== undefined,
|
||||
`Stack Navigator: 'keyboardHandlingEnabled' is moved to 'options'. Moved it to 'screenOptions' to keep current behavior.\n\nSee https://reactnavigation.org/docs/stack-navigator/#keyboardhandlingenabled for more details.`
|
||||
);
|
||||
|
||||
const defaultScreenOptions: StackNavigationOptions = {
|
||||
presentation: mode,
|
||||
headerShown: headerMode ? headerMode !== 'none' : true,
|
||||
headerMode: headerMode && headerMode !== 'none' ? headerMode : undefined,
|
||||
keyboardHandlingEnabled,
|
||||
};
|
||||
|
||||
const { state, descriptors, navigation, NavigationContent } =
|
||||
useNavigationBuilder<
|
||||
StackNavigationState<ParamListBase>,
|
||||
@@ -70,12 +85,7 @@ function StackNavigator({
|
||||
children,
|
||||
screenListeners,
|
||||
screenOptions,
|
||||
defaultScreenOptions: () => ({
|
||||
presentation: mode,
|
||||
headerShown: headerMode ? headerMode !== 'none' : true,
|
||||
headerMode:
|
||||
headerMode && headerMode !== 'none' ? headerMode : undefined,
|
||||
}),
|
||||
defaultScreenOptions,
|
||||
});
|
||||
|
||||
React.useEffect(
|
||||
|
||||
Reference in New Issue
Block a user