React Navigation 如何在单个屏幕上隐藏标签栏顶部边框

时间:2021-02-24 15:34:35

标签: javascript react-native react-navigation

通过在导航器级别执行以下代码,可以轻松隐藏每个屏幕上的边框

<Tab.Navigator
   tabBarOptions={{
      style: {
         borderTopWidth: 0,
      },
   }}
>

但是如何在单个屏幕上隐藏边框? 我已经尝试了以下但没有效果

React.useLayoutEffect(() => {
   navigation.setOptions({
      tabBarOptions: {
         style: {
            borderTopWidth: 0,
         },
      },
   });
}, [navigation]);

1 个答案:

答案 0 :(得分:0)

如果我们想从子组件进行更改,那么我们必须访问父组件导航道具。

尝试使用以下可能对您有所帮助的代码:

React.useLayoutEffect(() => {
   navigation.dangerouslyGetParent().setOptions({
      tabBarOptions: {
         style: {
            borderTopWidth: 0,
         },
      },
   });
}, [navigation]);