我想在一份清单中专门提及一个项目。 我现在宣读并研究各种例子,但没有任何效果。 难道有人要告诉我如何工作? !
const Screen = ({id, data}) => {
const [y, setY] = useState(null);
const scrollViewRef = useRef(null);
useEffect(() => {
if (data.length > 0 && id && y) {
if (scrollViewRef.current && scrollViewRef.current !== null) {
const index = data.findIndex(item => {
return item._id === id
});
if (index >= 0) {
scrollViewRef.current.scrollTo({
y: data.length * index, animated: true
});
}
}
}
}, [data, id, y]);
return (
<ScrollView ref={scrollViewRef>
{data.length > 0 && data.map((item, key) => {
return (
<View
key={key}
style={{height: 250, backgroundColor: colors.green, margin: 20}}
onLayout={(event) => {
const layout = event.nativeEvent.layout;
setY(layout.y)
}}>
<Text >{data.name}</Text>
</View>
)
})}
</ScrollView>
)
};