fix: add a deprecation warning for mode prop in stack

This commit is contained in:
Satyajit Sahoo
2021-05-09 23:42:12 +02:00
parent 4af9d10298
commit a6e498170f
6 changed files with 18 additions and 9 deletions

View File

@@ -38,7 +38,7 @@
"dependencies": {
"@react-navigation/elements": "^1.0.0-next.8",
"color": "^3.1.3",
"warn-once": "^0.0.1"
"warn-once": "^0.1.0"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.6",

View File

@@ -43,7 +43,7 @@
"dependencies": {
"@react-navigation/elements": "^1.0.0-next.8",
"color": "^3.1.3",
"warn-once": "^0.0.1"
"warn-once": "^0.1.0"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.6",

View File

@@ -42,7 +42,7 @@
},
"dependencies": {
"color": "^3.1.3",
"warn-once": "^0.0.1"
"warn-once": "^0.1.0"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.6",

View File

@@ -43,7 +43,7 @@
"@react-navigation/elements": "^1.0.0-next.8",
"color": "^3.1.3",
"react-native-iphone-x-helper": "^1.3.0",
"warn-once": "^0.0.1"
"warn-once": "^0.1.0"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.6",

View File

@@ -30,16 +30,24 @@ function StackNavigator({
screenOptions,
...rest
}: Props) {
// @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 'animationPresentation: "${mode}"' in 'screenOptions' instead.`
);
warnOnce(
headerMode === 'none',
`Stack Navigator: 'headerMode="none"' is deprecated. Use 'headerShown: false' in 'screenOptions' instead.`
);
warnOnce(
headerMode && headerMode !== 'none',
headerMode != null && headerMode !== 'none',
`Stack Navigator: 'headerMode' is moved to 'options'. Moved it to 'screenOptions' to keep current behavior.`
);
@@ -54,6 +62,7 @@ function StackNavigator({
children,
screenOptions,
defaultScreenOptions: () => ({
animationPresentation: mode,
headerShown: headerMode ? headerMode !== 'none' : true,
headerMode: headerMode && headerMode !== 'none' ? headerMode : undefined,
}),

View File

@@ -18225,10 +18225,10 @@ walker@^1.0.7, walker@~1.0.5:
dependencies:
makeerror "1.0.x"
warn-once@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.0.1.tgz#71eda54c88f240c4461e5c7a84cac2263caf3a4e"
integrity sha512-Sh/kR0dQ9Tlr70E2zuR8mZ0yxmN9kGMNfvlwWWRi7frSox2uRC7U659Le8jBIqvjykSbvo9JX9ttsqw4vZPLmA==
warn-once@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.1.0.tgz#4f58d89b84f968d0389176aa99e0cf0f14ffd4c8"
integrity sha512-recZTSvuaH/On5ZU5ywq66y99lImWqzP93+AiUo9LUwG8gXHW+LJjhOd6REJHm7qb0niYqrEQJvbHSQfuJtTqA==
watchpack-chokidar2@^2.0.1:
version "2.0.1"