我有一个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]
);
让我知道它是否有效!