SafeAreaView 测量功能在 React Native 中不起作用

SafeAreaView measure function not working in react native

我的问题是我必须使用基本的 measure 函数来测量 View。但是,如果SafeArea使用该功能,它将不起作用。

const headerRef = useRef(null);
...
  useEffect(() => {
    headerRef.current.measure( (ox, oy, width, height, px, py) => {
    set({
      ox: ox,
      oy: oy,
      width: width,
      height: height,
      px: px,
      py: py,
    });
  };);
  }, []);
...
<SafeAreaView style={styles.safeArea} ref={headerRef}>

错误是

TypeError : Cannot read property 'measure' of undefined

你如何解决这个问题?

有和我一样的问题吗?

我只使用 View 而不是 SafeAreaView 解决了这个问题。 SafeAreaView这部分似乎不适用。

const headerRef = useRef(null);
...
  useEffect(() => {
    headerRef.current.measure(getViewSize); 
  }, []);
...
const getViewSize = (ox, oy, width, height, px, py) => {
    set({
      ox: ox,
      oy: oy,
      width: width,
      height: height,
      px: px,
      py: py,
    });
  };
...
<View style={styles.safeArea} ref={headerRef}>