Skip to content

Commit 817a92d

Browse files
committed
[fix] Wrap StackView in NavigationContent (v5/6)
1 parent c9173e1 commit 817a92d

File tree

1 file changed

+34
-31
lines changed

1 file changed

+34
-31
lines changed

src/createSharedElementStackNavigator.tsx

Lines changed: 34 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -78,26 +78,27 @@ export default function createSharedElementStackNavigator<
7878
gestureEnabled: Platform.OS === "ios",
7979
animationEnabled: Platform.OS !== "web",
8080
};
81-
const { state, descriptors, navigation } = useNavigationBuilder<
82-
StackNavigationState<ParamListBase>,
83-
StackRouterOptions,
84-
StackActionHelpers<ParamListBase>,
85-
StackNavigationOptions,
86-
StackNavigationEventMap
87-
>(StackRouter, {
88-
initialRouteName,
89-
children,
90-
screenOptions:
91-
typeof screenOptions === "function"
92-
? (...args) => ({
93-
...defaultOptions,
94-
...screenOptions(...args),
95-
})
96-
: {
97-
...defaultOptions,
98-
...screenOptions,
99-
},
100-
});
81+
const { state, descriptors, navigation, NavigationContent } =
82+
useNavigationBuilder<
83+
StackNavigationState<ParamListBase>,
84+
StackRouterOptions,
85+
StackActionHelpers<ParamListBase>,
86+
StackNavigationOptions,
87+
StackNavigationEventMap
88+
>(StackRouter, {
89+
initialRouteName,
90+
children,
91+
screenOptions:
92+
typeof screenOptions === "function"
93+
? (...args) => ({
94+
...defaultOptions,
95+
...screenOptions(...args),
96+
})
97+
: {
98+
...defaultOptions,
99+
...screenOptions,
100+
},
101+
});
101102

102103
const rendererDataRef = React.useRef<SharedElementRendererData | null>(
103104
null
@@ -154,18 +155,20 @@ export default function createSharedElementStackNavigator<
154155
}
155156
return (
156157
<SharedElementRendererContext.Provider value={rendererDataProxy}>
157-
<StackView
158-
detachInactiveScreens={Platform.OS !== "android"}
159-
{...rest}
160-
state={state}
161-
descriptors={descriptors}
162-
navigation={navigation}
163-
/>
164-
{rendererDataRef.current ? (
165-
<SharedElementRendererView
166-
rendererData={rendererDataRef.current}
158+
<NavigationContent>
159+
<StackView
160+
detachInactiveScreens={Platform.OS !== "android"}
161+
{...rest}
162+
state={state}
163+
descriptors={descriptors}
164+
navigation={navigation}
167165
/>
168-
) : undefined}
166+
{rendererDataRef.current ? (
167+
<SharedElementRendererView
168+
rendererData={rendererDataRef.current}
169+
/>
170+
) : undefined}
171+
</NavigationContent>
169172
</SharedElementRendererContext.Provider>
170173
);
171174
}}

0 commit comments

Comments
 (0)