React Native:SafeAreaProvider 有什么用

问题描述 投票:0回答:2

SafeAreaProvider
有什么用?我不明白 github 文档。
我必须用它做什么?
SafeAreaView
做得很好...
即使
SafeAreaProvider
必须与 React-navigation 一起使用:

<SafeAreaView>
  <SafeAreaProvider>
    <NavigationContainer>
      ...
    </NavigationContainer>
  </SafeAreaProvider>
</SafeAreaView>

我看不出它的用途...

reactjs react-native
2个回答
14
投票

安全区域是手机无凹口的屏幕,此类物品包括:

  1. 物理凹口
  2. 状态栏覆盖
  3. iOS 上的家庭活动指示器
  4. Android 上的导航栏

未与此类物品重叠的区域称为“安全区域”。

您可以在reactnavigation.org here查看更多示例和图片,您就会明白。

使用 SafeArea,内容将是

enter image description here

如果没有 SafeArea,内容将会是

enter image description here


1
投票

做一些测试,看看我是否可以避免使用

SafeAreaProvider
,如果你只是使用
SafeAreaView
,似乎可能不需要它(在移动设备上测试,不确定在网络上,因为文档说它需要不同的配置。 )。但是,如果您想通过钩子使用任何插入值,例如
useSafeAreaInsets
,那么您需要这样做。

如果您不知道什么是提供者和消费者,请查看react中的上下文

因此,我认为 safeAreaView 不会从该提供程序中使用,因为没有它它仍然可以正常工作。

如果更清楚的话会有帮助,这只是一个简单测试的结论。

© www.soinside.com 2019 - 2024. All rights reserved.