Skip to content

Commit ebb9aa6

Browse files
authored
chore(Stack): rename components related to new stack (#3485)
Closes software-mansion/react-native-screens-labs#734 This PR renames `ScreenStackHost` and `StackScreen` components. They are now grouped under `Stack` "namespace object" and can be used as follows: ```tsx <Stack.Host> {stack.map(({ component: Component, ...screenProps }) => ( <Stack.Screen key={screenProps.screenKey} {...screenProps} onPop={handlePop}> <StackNavigationContext.Provider value={{ ...screenProps, pop, push, }}> <Component /> </StackNavigationContext.Provider> </Stack.Screen> ))} </Stack.Host> ``` I've also updated relevant test examples.
1 parent f65b107 commit ebb9aa6

File tree

3 files changed

+22
-9
lines changed

3 files changed

+22
-9
lines changed

apps/src/shared/gamma/containers/stack/StackContainer.tsx

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import React from 'react';
22
import {
3-
ScreenStackHost,
4-
StackScreen,
3+
Stack,
54
StackScreenLifecycleState,
65
} from 'react-native-screens/experimental';
76
import type { StackScreenProps } from 'react-native-screens/experimental';
@@ -148,9 +147,9 @@ export function StackContainer({ pathConfigs }: StackContainerProps) {
148147
console.log('StackContainer render', stack);
149148

150149
return (
151-
<ScreenStackHost>
150+
<Stack.Host>
152151
{stack.map(({ component: Component, ...screenProps }) => (
153-
<StackScreen
152+
<Stack.Screen
154153
key={screenProps.screenKey}
155154
{...screenProps}
156155
onPop={handlePop}>
@@ -162,8 +161,8 @@ export function StackContainer({ pathConfigs }: StackContainerProps) {
162161
}}>
163162
<Component />
164163
</StackNavigationContext.Provider>
165-
</StackScreen>
164+
</Stack.Screen>
166165
))}
167-
</ScreenStackHost>
166+
</Stack.Host>
168167
);
169168
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import ScreenStackHost from './ScreenStackHost';
2+
import StackScreen from './StackScreen';
3+
4+
export { StackScreenLifecycleState } from './StackScreen';
5+
6+
export * from './ScreenStackHost.types';
7+
export * from './StackScreen.types';
8+
9+
const Stack = {
10+
Host: ScreenStackHost,
11+
Screen: StackScreen,
12+
};
13+
14+
export default Stack;

src/experimental/index.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ export * from './types';
88

99
// Components
1010

11-
export { default as ScreenStackHost } from '../components/gamma/stack/ScreenStackHost';
1211
export {
13-
default as StackScreen,
12+
default as Stack,
1413
StackScreenLifecycleState,
15-
} from '../components/gamma/stack/StackScreen';
14+
} from '../components/gamma/stack';
15+
1616
export { default as SplitViewHost } from '../components/gamma/split-view/SplitViewHost';
1717
export { default as SplitViewScreen } from '../components/gamma/split-view/SplitViewScreen';
1818
export { default as SafeAreaView } from '../components/safe-area/SafeAreaView';

0 commit comments

Comments
 (0)