A flexible way to handle safe areas, also works on Android and the Web! This library currently has experimental support for the new react-native architecture. Note that there will be breaking changes and only the latest version of react-native will be supported. This library has 2 important concepts, if you are familiar with React Context this is very similar. The SafeAreaProvider component is a View from where insets provided by Consumers are relative to. This means that if this view overlaps with any system elements (status bar, notches, etc.) these values will be provided to descendent consumers. Usually, you will have one provider at the top of your app. Consumers are components and hooks that allow using inset values provided by the nearest parent Provider. Values are always relative to a provider and not to these components.
Features
- You should add SafeAreaProvider in your app root component
- SafeAreaView is a regular View component with the safe area insets applied as padding or margin
- Optional, array of top, right, bottom, and left
- If you are doing server side rendering on the web you can use initialMetrics to inject insets
- This library includes a built in mock for Jest
- This library currently has experimental support for the new react-native architecture