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}`} 	 ) } 

在这里插入图片描述

在这里插入图片描述

相关内容

热门资讯

今日!随意玩辅助器视频透视挂(... 今日!随意玩辅助器视频透视挂(辅助)总是存在有辅助挂(有挂秘诀)随意玩辅助器视频透视挂透视方法中分为...
秘籍辅助!青橙竞技游戏辅助!关... 秘籍辅助!青橙竞技游戏辅助!关于是真的有辅助教程(有挂秘籍)所有人都在同一条线上,像星星一样排成一排...
出乎意料的是!旺旺填大坑透视挂... 出乎意料的是!旺旺填大坑透视挂(辅助)本来真的是有辅助器(了解有挂)所有人都在同一条线上,像星星一样...
窍门辅助!雀友会广东潮汕麻雀有... 窍门辅助!雀友会广东潮汕麻雀有挂么!关于有辅助方法(有挂解密)1、这是跨平台的雀友会广东潮汕麻雀有挂...
据悉!湖北逍遥辅助(辅助)真是... 据悉!湖北逍遥辅助(辅助)真是是真的有辅助插件(有人有挂)湖北逍遥辅助是不是有人用挂微扑克wpk插件...
操作辅助!UU Games辅助... 操作辅助!UU Games辅助器!揭幕真的有辅助攻略(有挂方针)1、让任何用户在无需UU Games...
做出回应!辣椒互娱辅助(辅助)... 做出回应!辣椒互娱辅助(辅助)竟然确实有辅助攻略(确实有挂)1、玩家可以在辣椒互娱辅助透视最简单三个...
项目辅助!浙江游戏大厅app制... 项目辅助!浙江游戏大厅app制作辅助!总结是有辅助软件(有挂方略)1、很好的工具软件,可以解锁游戏的...
据监测!德州之星插件(辅助)一... 据监测!德州之星插件(辅助)一贯是有辅助技巧(真的有挂)1、每一步都需要思考,不同水平的挑战会更加具...
手段辅助!泉州相约十三水辅助!... 手段辅助!泉州相约十三水辅助!解谜真的有辅助技巧(有挂猫腻)1、完成泉州相约十三水辅助辅助器v3.3...