React Native 自定义 Hook 获取组件位置和大小
创始人
2025-01-08 23:06:00
0

在 React Native 中自定义 Hook useLayout 获取 View、Pressable 等组件的位置和大小的信息

import {useState, useCallback} from 'react' import {LayoutChangeEvent, LayoutRectangle} from 'react-native'  export function useLayout() {   const [layout, setLayout] = useState({     x: 0,       // 目标元素相对父元素的X轴距离     y: 0,       // 目标元素相对父元素的Y轴距离     width: 0,   // 目标元素的宽度     height: 0,  // 目标元素的高度   })    const onLayout = useCallback(     (e: LayoutChangeEvent) => setLayout(e.nativeEvent.layout),     [],   )    return {     onLayout,     ...layout,   } } 

onLayout 这个在列表组件中弹窗很有用,可以方便的使用它来获取位置信息。

import { useLayout } from './useLayout'    function MyComponent() {       const { x, y, width, height, onLayout } = useLayout()          return ({height:800,backgroundColor:'#d9f'}}> 	onLayout} style={{width:100,height:100,backgroundColor:'red'}} /> 	{ 		position:'absolute', 		top:y, 		left:x, 		backgroundColor:'#eea', 		width:100, 		height:100 	}}> 		{`x:${x}`} 		{`y:${y}`} 	 ) } 

在这里插入图片描述

在这里插入图片描述

相关内容

热门资讯

黑科技真的(wpk最新黑科技)... 黑科技真的(wpk最新黑科技)wpk脚本(Wpk)总是真的有挂(真的有挂)-哔哩哔哩1、该软件可以轻...
黑科技了解!wpkai辅助(a... 黑科技了解!wpkai辅助(aapokerai辅助)都是存在有挂(有挂ai代打)-哔哩哔哩;1、很好...
wepoke辅助插件(wepO... wepoke辅助插件(wepOKE)wepoke能赢嘛(黑科技黑科技)固有是有挂(有挂新版)-哔哩哔...
黑科技好友房(wpk最新黑科技... 黑科技好友房(wpk最新黑科技)wpk透视辅助测试(wpK)总是是真的有挂(新版有挂)-哔哩哔哩1、...
黑科技辅助!德州之星有外挂(a... 黑科技辅助!德州之星有外挂(aapokerai辅助)都是是真的有挂(有挂ai代打)-哔哩哔哩;1、操...
wepoke真的有挂(wepO... wepoke真的有挂(wepOke)wepoke德州扑克安卓下载(黑科技智能ai)素来有挂(有挂机器...
黑科技神器(wpk ai辅助)... 黑科技神器(wpk ai辅助)Wpk辅助器(WPk)真是真的是有挂(揭秘有挂)-哔哩哔哩;1、玩家可...
黑科技有挂!wpk职业代打(a... 黑科技有挂!wpk职业代打(aapoker发牌机制)其实存在有挂(有挂透明挂黑科技)-哔哩哔哩1、金...
黑科技辅助(wpk最新黑科技)... 黑科技辅助(wpk最新黑科技)wpk透视辅助合作(wpK)本来真的是有挂(详细教程)-哔哩哔哩1、上...
wepokeai代打(wePO... wepokeai代打(wePOKE)wopoker辅助器ios(黑科技ai代打)素来真的有挂(有挂安...