디자이너가 원하던 네비게이션 효과가 명확하던 상태였습니다.
cardStyleInterpolator값 변경을 통해 디자이너가 원하는 형태로 바꾸긴 하였는데, 런칭 일정에 급급해 뒤늦게야 바꾸어 아쉬움이 남는 부분이었습니다.
<Stack.Screen
name="root"
component={BottomNavigation}
options={{
headerShown: false,
cardStyleInterpolator:
CardStyleInterpolators.forHorizontalIOS,
}}
/>




첫번째 이미지가 페이지, 두번째 이미지가 모달창 상태입니다.
페이지로 할 경우, 아예 다른 페이지로 넘어가는 것이기 때문에 z-index를 신경쓰지 않아도 되어서 편했습니다. 또 App.tsx에서 페이지들을 관리할 수 있었기 때문에 편했습니다.
모달창으로 할 경우, props 값으로 함수도 넘길 수 있어서 좋았습니다.
export default function Write({route, navigation}: any): JSX.Element {
...
return (
<SafeAreaView style={commonStyles.container}>
<View style={commonStyles.containerModal}>
...
// 여기가 모달창
{isVisible && (
<Modal
visible={isVisible}
animationType={'slide'}
style={{margin: 0}}
onDismiss={() => setIsVisible(false)}
presentationStyle={'fullScreen'}
onRequestClose={() => setIsVisible(false)}>
<SearchPlace
searchPlaceData={searchPlaceData}
setSearchPlaceData={setSearchPlaceData}
handlePlaceInfo={handlePlaceInfo}
setIsVisible={setIsVisible}
/>
</Modal>
)}
</View>
</SafeAreaView>
);
}
상태관리를 모두 recoil로 했다는 점인데, 2.0버전에선 react-query로 많이 바꿔쓰려고 합니다.