从 ref 获取反应原生元素的高度



我有一个ScrollView的引用,需要得到它的高度。它似乎没有高度属性:

import React, { useRef, useEffect } from "react";
import { View, ScrollView } from "react-native";
function Component() {
const scrollView = useRef(null);
useEffect(
function() {
// All of these print undefined
console.log(scrollView.height);
console.log(scrollView.current.height);
console.log(scrollView.current.clientHeight);
},
[scrollView]
);
return (
<ScrollView ref={scrollView}>
<View style={{ height: 800, width: 100 }} />
</ScrollView>
);
}

如何简单地从ref中获取scrollView的高度?这在ReactJS中是可能的,但我不确定react native。

如果可能的话,我想在不使用onLayout的情况下完成这项工作。如果onLayout是唯一的方法,请告诉我。

尝试更改此

useEffect(
function() {
...
},
[scrollView]
);

至:

useEffect(
function() {
if (!scrollView.current) {
console.log("scrollView not mounted to DOM yet");
} else {
// Get scrollViewHeight here
}
},[scrollView.current]
);

让我知道它是否有效!

相关内容

  • 没有找到相关文章

最新更新