From 8fb5039a60bb8963c2d12b9020ca288b3c9784d8 Mon Sep 17 00:00:00 2001 From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Thu, 27 Aug 2026 20:07:42 +0300 Subject: [PATCH 1/2] fix(web): handle empty styles without invalidating the style memo --- src/SafeAreaView.web.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SafeAreaView.web.tsx b/src/SafeAreaView.web.tsx index 431f0aa3..8a44d8e7 100644 --- a/src/SafeAreaView.web.tsx +++ b/src/SafeAreaView.web.tsx @@ -35,7 +35,7 @@ function getEdgeValue( export const SafeAreaView = React.forwardRef< NativeSafeAreaViewInstance, NativeSafeAreaViewProps ->(({ style = {}, mode, edges, ...rest }, ref) => { +>(({ style, mode, edges, ...rest }, ref) => { const insets = useSafeAreaInsets(); const edgesRecord = React.useMemo(() => { @@ -53,7 +53,7 @@ export const SafeAreaView = React.forwardRef< }, [edges]); const appliedStyle = React.useMemo(() => { - const flatStyle = StyleSheet.flatten(style) as Record; + const flatStyle = (StyleSheet.flatten(style) ?? {}) as Record; if (mode === 'margin') { const { From 0eb87c29c418e7062efe4e25ffd029a0abef269c Mon Sep 17 00:00:00 2001 From: Oskar Eichler <62393985+OskarEichler@users.noreply.github.com> Date: Thu, 27 Aug 2026 20:09:23 +0300 Subject: [PATCH 2/2] style: format the changed web provider code --- src/SafeAreaView.web.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/SafeAreaView.web.tsx b/src/SafeAreaView.web.tsx index 8a44d8e7..fc8fdf03 100644 --- a/src/SafeAreaView.web.tsx +++ b/src/SafeAreaView.web.tsx @@ -53,7 +53,10 @@ export const SafeAreaView = React.forwardRef< }, [edges]); const appliedStyle = React.useMemo(() => { - const flatStyle = (StyleSheet.flatten(style) ?? {}) as Record; + const flatStyle = (StyleSheet.flatten(style) ?? {}) as Record< + string, + number + >; if (mode === 'margin') { const {