Skip to content

Commit 64dfd60

Browse files
committed
update destroyOnClose to destroyOnHidden
1 parent 5b54804 commit 64dfd60

File tree

6 files changed

+18
-18
lines changed

6 files changed

+18
-18
lines changed

docs/examples/forceRender.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export default () => {
3232
width="20vw"
3333
open={open2}
3434
onClose={() => setOpen2(false)}
35-
destroyOnClose
35+
destroyOnHidden
3636
placement="left"
3737
{...motionProps}
3838
>

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"@testing-library/react": "^14.0.0",
5757
"@types/classnames": "^2.2.9",
5858
"@types/jest": "^29.5.11",
59+
"@types/node": "^22.15.18",
5960
"@types/raf": "^3.4.0",
6061
"@types/react": "^19.0.0",
6162
"@types/react-dom": "^19.0.0",

src/Drawer.tsx

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export interface DrawerProps
2121
prefixCls?: string;
2222
open?: boolean;
2323
onClose?: (e: React.MouseEvent | React.KeyboardEvent) => void;
24-
destroyOnClose?: boolean;
24+
destroyOnHidden?: boolean;
2525
getContainer?: PortalProps['getContainer'];
2626
panelRef?: React.Ref<HTMLDivElement>;
2727
classNames?: DrawerClassNames;
@@ -41,7 +41,7 @@ const Drawer: React.FC<DrawerProps> = props => {
4141
getContainer,
4242
forceRender,
4343
afterOpenChange,
44-
destroyOnClose,
44+
destroyOnHidden,
4545
onMouseEnter,
4646
onMouseOver,
4747
onMouseLeave,
@@ -95,15 +95,10 @@ const Drawer: React.FC<DrawerProps> = props => {
9595
};
9696

9797
// =========================== Context ============================
98-
const refContext = React.useMemo(
99-
() => ({
100-
panel: panelRef,
101-
}),
102-
[panelRef],
103-
);
98+
const refContext = React.useMemo(() => ({ panel: panelRef }), [panelRef]);
10499

105100
// ============================ Render ============================
106-
if (!forceRender && !animatedVisible && !mergedOpen && destroyOnClose) {
101+
if (!forceRender && !animatedVisible && !mergedOpen && destroyOnHidden) {
107102
return null;
108103
}
109104

@@ -115,6 +110,7 @@ const Drawer: React.FC<DrawerProps> = props => {
115110
onKeyDown,
116111
onKeyUp,
117112
};
113+
118114
const drawerPopupProps = {
119115
...props,
120116
open: mergedOpen,

src/DrawerPanel.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export interface DrawerPanelProps
3333
containerRef?: React.Ref<HTMLDivElement>;
3434
}
3535

36-
const DrawerPanel = (props: DrawerPanelProps) => {
36+
const DrawerPanel: React.FC<Readonly<DrawerPanelProps>> = props => {
3737
const { prefixCls, className, containerRef, ...restProps } = props;
3838

3939
const { panel: panelRef } = React.useContext(RefContext);

src/DrawerPopup.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,10 @@ export interface DrawerPopupProps
7777
drawerRender?: (node: React.ReactNode) => React.ReactNode;
7878
}
7979

80-
function DrawerPopup(props: DrawerPopupProps, ref: React.Ref<HTMLDivElement>) {
80+
const DrawerPopup: React.ForwardRefRenderFunction<
81+
HTMLDivElement,
82+
DrawerPopupProps
83+
> = (props, ref) => {
8184
const {
8285
prefixCls,
8386
open,
@@ -375,7 +378,7 @@ function DrawerPopup(props: DrawerPopupProps, ref: React.Ref<HTMLDivElement>) {
375378
</div>
376379
</DrawerContext.Provider>
377380
);
378-
}
381+
};
379382

380383
const RefDrawerPopup = React.forwardRef(DrawerPopup);
381384

tests/index.spec.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -183,20 +183,20 @@ describe('rc-drawer-menu', () => {
183183
expect(document.querySelector('.rc-drawer')).toBeTruthy();
184184
});
185185

186-
describe('destroyOnClose', () => {
186+
describe('destroyOnHidden', () => {
187187
it('basic', () => {
188-
const { rerender } = render(<Drawer destroyOnClose open />);
188+
const { rerender } = render(<Drawer destroyOnHidden open />);
189189
expect(document.querySelector('.rc-drawer')).toBeTruthy();
190-
rerender(<Drawer destroyOnClose />);
190+
rerender(<Drawer destroyOnHidden />);
191191
expect(document.querySelector('.rc-drawer')).toBeFalsy();
192192
});
193193

194194
it('inline', () => {
195195
const { container, rerender } = render(
196-
<Drawer destroyOnClose open getContainer={false} />,
196+
<Drawer destroyOnHidden open getContainer={false} />,
197197
);
198198
expect(container.querySelector('.rc-drawer')).toBeTruthy();
199-
rerender(<Drawer destroyOnClose getContainer={false} />);
199+
rerender(<Drawer destroyOnHidden getContainer={false} />);
200200
expect(container.querySelector('.rc-drawer')).toBeFalsy();
201201
});
202202
});

0 commit comments

Comments
 (0)