File tree Expand file tree Collapse file tree
src/components/BottomSheet Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -11,13 +11,17 @@ const BottomSheet: React.FC<BottomSheetProps> = ({
1111} ) => {
1212 const startY = useRef < number | null > ( null ) ;
1313 const [ initialRender , setInitialRender ] = useState ( true ) ;
14+ const [ isRendered , setIsRendered ] = useState ( false ) ;
1415 const [ currentTranslateY , setCurrentTranslateY ] = useState ( 0 ) ;
1516 const [ isDragging , setIsDragging ] = useState < boolean > ( false ) ;
1617
1718 useEffect ( ( ) => {
1819 if ( isOpenBottomSheet ) {
1920 setInitialRender ( false ) ;
21+ setIsRendered ( true ) ;
2022 setCurrentTranslateY ( 0 ) ; // 초기화
23+ } else {
24+ setIsRendered ( false ) ;
2125 }
2226 } , [ isOpenBottomSheet ] ) ;
2327
@@ -105,7 +109,7 @@ const BottomSheet: React.FC<BottomSheetProps> = ({
105109
106110 return (
107111 < BottomSheetWrapper
108- $isOpenBottomSheet = { isOpenBottomSheet }
112+ $isOpenBottomSheet = { isRendered }
109113 onClick = { ( e : React . MouseEvent ) => {
110114 // BottomSheet 외부를 클릭할 경우 BottomSheet 닫음
111115 if ( ! isDragging && e . target === e . currentTarget ) {
@@ -117,7 +121,7 @@ const BottomSheet: React.FC<BottomSheetProps> = ({
117121 onPointerDown = { onPointerDown }
118122 onTouchStart = { onPointerDown }
119123 $currentTranslateY = { currentTranslateY }
120- $isOpenBottomSheet = { isOpenBottomSheet }
124+ $isOpenBottomSheet = { isRendered }
121125 $isHandlerVisible = { isHandlerVisible }
122126 >
123127 { isHandlerVisible && < Handler /> }
Original file line number Diff line number Diff line change @@ -12,7 +12,7 @@ export const BottomSheetWrapper = styled.div<{ $isOpenBottomSheet: boolean }>`
1212 visibility: ${ ( { $isOpenBottomSheet } ) => ( $isOpenBottomSheet ? 'visible' : 'hidden' ) } ;
1313 transition:
1414 opacity 0.2s ease-out,
15- visibility 0.2s ease-out;
15+ visibility 0.3s ease-out;
1616` ;
1717
1818export const BottomSheetLayout = styled . div < {
@@ -36,7 +36,7 @@ export const BottomSheetLayout = styled.div<{
3636 -50%,
3737 ${ ( { $currentTranslateY, $isOpenBottomSheet } ) => ( $isOpenBottomSheet ? `${ $currentTranslateY } px` : '100%' ) }
3838 );
39- transition: transform 0.3s ease-in-out ;
39+ transition: transform 0.3s;
4040` ;
4141
4242export const Handler = styled . hr `
You can’t perform that action at this time.
0 commit comments