@@ -80,8 +80,10 @@ export const DrawerItem = React.forwardRef<HTMLDivElement, DrawerItemProps>(
80
80
keepMounted = false ,
81
81
} = props ;
82
82
83
+ const [ isInitialRender , setInitialRender ] = React . useState ( true ) ;
83
84
const itemRef = React . useRef < HTMLDivElement > ( null ) ;
84
85
const handleRef = useForkRef ( ref , itemRef ) ;
86
+
85
87
const cssDirection = direction === 'left' ? undefined : direction ;
86
88
87
89
const { resizedWidth, resizerHandlers} = useResizableDrawerItem ( {
@@ -92,6 +94,10 @@ export const DrawerItem = React.forwardRef<HTMLDivElement, DrawerItemProps>(
92
94
onResize,
93
95
} ) ;
94
96
97
+ React . useEffect ( ( ) => {
98
+ setInitialRender ( true ) ;
99
+ } , [ direction ] ) ;
100
+
95
101
const resizerElement = resizable ? (
96
102
< div className = { b ( 'resizer' , { direction} ) } { ...resizerHandlers } >
97
103
< div className = { b ( 'resizer-handle' ) } />
@@ -106,10 +112,16 @@ export const DrawerItem = React.forwardRef<HTMLDivElement, DrawerItemProps>(
106
112
unmountOnExit = { ! keepMounted }
107
113
classNames = { b ( 'item-transition' , { direction : cssDirection } ) }
108
114
nodeRef = { itemRef }
115
+ onEnter = { ( ) => setInitialRender ( false ) }
116
+ onExit = { ( ) => setInitialRender ( false ) }
109
117
>
110
118
< div
111
119
ref = { handleRef }
112
- className = { b ( 'item' , { direction : cssDirection } , className ) }
120
+ className = { b (
121
+ 'item' ,
122
+ { direction : cssDirection , hidden : isInitialRender && ! visible } ,
123
+ [ className ] ,
124
+ ) }
113
125
style = { { width : resizable ? `${ resizedWidth } px` : undefined } }
114
126
>
115
127
{ resizerElement }
0 commit comments