SafeAreaListener
Component that lets you listen to safe area insets and frame changes at the position where it is rendered.
This is an alternative to using the useSafeAreaInsets
and useSafeAreaFrame
hooks in combinations with SafeAreaProvider
. Unlike the hooks, this notifies about changes with the onChange
prop and doesn't trigger re-renders when the insets or frame change.
Example
import { SafeAreaListener } from 'react-native-safe-area-context';
function SomeComponent() {
return (
<SafeAreaListener
onChange={({ insets, frame }) => {
console.log('Safe area changed:', { insets, frame });
}}
>
{/* Your content here */}
</SafeAreaListener>
);
}
Props
Accepts all View props.
onChange
Required, a function that receives an object with insets
and frame
properties. The insets
property contains the safe area insets, and the frame
property contains the frame of the component.