反应导航获取类组件内部的堆栈导航器标题高度(不带钩子)

时间:2020-11-05 14:32:20

标签: react-native react-navigation react-navigation-v5

我知道可以通过以下钩子(V5)获取堆栈头高度:

import { useHeaderHeight } from '@react-navigation/stack';

是否有针对类组件的解决方法?目前,我正在使用上下文使用者来获取render()函数内部的高度:

<HeaderHeightContext.Consumer>
                  {headerHeight => (   
    ...
    )}
</HeaderHeightContext.Consumer>

但是我想让headerHeight在我的render()函数之外。

1 个答案:

答案 0 :(得分:1)

您是否已在组件中尝试过类似以下操作:

static contextType = HeaderHeightContext;

componentDidMount() {
   console.log(this.context); // this is your height
}

来自documentation

可以为类的contextType属性分配一个由React.createContext()创建的Context对象。这样您就可以使用this.context

消耗该Context类型的最近的当前值。