Skip to content

Commit 80ffb61

Browse files
authored
Merge pull request Expensify#67518 from software-mansion-labs/feat/reduce-confirm-modal-initial-render-count
Reduce confirm modal initial render count
2 parents 0b86ba3 + 5defc84 commit 80ffb61

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

src/components/ConfirmModal.tsx

Lines changed: 9 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';
@@ -153,6 +154,14 @@ function ConfirmModal({
153154
const {isSmallScreenWidth} = useResponsiveLayout();
154155
const styles = useThemeStyles();
155156

157+
// Previous state needed for exiting animation to play correctly.
158+
const prevVisible = usePrevious(isVisible);
159+
160+
// Perf: Prevents from rendering whole confirm modal on initial render.
161+
if (!isVisible && !prevVisible) {
162+
return null;
163+
}
164+
156165
return (
157166
<Modal
158167
onClose={onCancel}

0 commit comments

Comments
 (0)