Skip to content

Commit 6fff6c5

Browse files
committed
Reduce confirm modal inital render count
1 parent d99a071 commit 6fff6c5

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/components/ConfirmModal.tsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type {ReactNode} from 'react';
22
import React from 'react';
33
import type {StyleProp, TextStyle, ViewStyle} from 'react-native';
4+
import usePrevious from '@hooks/usePrevious';
45
import useResponsiveLayout from '@hooks/useResponsiveLayout';
56
import useThemeStyles from '@hooks/useThemeStyles';
67
import CONST from '@src/CONST';
@@ -152,6 +153,12 @@ function ConfirmModal({
152153
// eslint-disable-next-line rulesdir/prefer-shouldUseNarrowLayout-instead-of-isSmallScreenWidth
153154
const {isSmallScreenWidth} = useResponsiveLayout();
154155
const styles = useThemeStyles();
156+
// Previous state needed for exiting animation to play correctly.
157+
const prevVisible = usePrevious(isVisible);
158+
if (!isVisible && !prevVisible) {
159+
// eslint-disable-next-line react/jsx-no-useless-fragment
160+
return null;
161+
}
155162

156163
return (
157164
<Modal

0 commit comments

Comments
 (0)