社区首页 >问答首页 >反应得到元件尺寸

反应得到元件尺寸
EN

Stack Overflow用户
提问于 2017-10-05 09:54:18
回答 2查看 805关注 0票数 2

我的getBoundingClientRect总是返回一个包含0值的对象。我想是和异步有关吧?下面是获取组件宽度和x的函数的定义。

代码语言:javascript
代码运行次数:0
复制
     componentDidMount () {
         this.setState({ 
            left: Math.round(this.container.getBoundingClientRect().width),                       
           x: Math.round(this.container.getBoundingClientRect().x)                               
        });                                                                                       
  }

以下是呈现函数的开始:

代码语言:javascript
代码运行次数:0
复制
render() {
        const containerStyle = {
             left : `-${Math.min(this.state.left, this.state.x) - 35}px`,                                                 
        };
        return ( !!this.state.visible && 
             <div
                 className={styles.container}
                 style={containerStyle}                                                            
                 ref={(element) => { this.container = element; }}                                  
            >

以下是来自getBoundingClientRect的响应

代码语言:javascript
代码运行次数:0
复制
DOMRect {x: 0, y: 0, width: 0, height: 0, top: 0,}
bottom : 0
height : 0
left : 0 
right : 0
top : 0
width : 0
x : 0
y : 0
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-05 10:54:46

试一试

代码语言:javascript
代码运行次数:0
复制
componentDidMount () {
  window.requestAnimationFrame(() => {
    this.setState({ 
      left: Math.round(this.container.getBoundingClientRect().width),                       
      x: Math.round(this.container.getBoundingClientRect().x)                               
    });
  }                                                                                       
}

DOM实际上是可用的,componentDidMount正在调用,这有一些微妙之处;使用requestAnimationFrame将确保它在油漆发生后被调用。

票数 1
EN

Stack Overflow用户

发布于 2017-10-05 10:31:35

您需要使用ref回调,而不是内联ref。当您使用内联ref时,第一个呈现传递该ref将为空。当传入回调时,它只在元素加载后触发。

代码语言:javascript
代码运行次数:0
复制
applyRef(ref) {
    this.container = ref;
}
...
<div
    className={styles.container}
    style={containerStyle}
    ref={this.applyRef}
>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46591978

复制
相关文章
【JMeter系列-3】JMeter元件详解之配置元件
参数化配置元件(以下简称CSV)能够在文件中读取一行数据,根据特定的符号切割成一个或多个变量放入内存中。相比于JMeter函数助手中提供的 __CSVRead()、__StringFromFile()函数,CSV使用更加简便。而且,CSV非常适合处理大量的数据,也适用于生成“随机值”、“唯一值”这张的变量。 JMeter支持数据被双引号括起,被双引号括起的数据允许包含分隔符,例如:a,b,"c,d"
云深i不知处
2020/09/16
2.2K0
Jmeter(二)_基础元件
它用来描述一个测试方案,包含与本次性能测试所有相关的功能。也就说本次测试的所有内容是于基于一个计划的。
飞天小子
2018/08/31
8530
Jmeter(二)_基础元件
电子元件-电阻
本内容包括可调电位器的介绍,电阻率与温度系数,高精密电阻介绍,热敏电阻、压敏电阻、碳膜电阻与金属膜电阻介绍等。紫色文字是超链接,点击自动跳转至相关博文。持续更新,原创不易!
全栈程序员站长
2022/07/23
8150
电子元件-电阻
Jmeter(三)_配置元件
Clear Cookies each Iteration:每次迭代请求,清空cookies,GUI中定义的任何cookie都不会被清除。
飞天小子
2018/08/31
1.2K0
Jmeter(三)_配置元件
jQuery 尺寸
通过 jQuery,很容易处理元素和浏览器窗口的尺寸。 ---- jQuery 尺寸方法 jQuery 提供多个处理尺寸的重要方法: width() height() innerWidth() innerHeight() outerWidth() outerHeight() ---- jQuery 尺寸 ---- jQuery width() 和 height() 方法 width() 方法设置或返回元素的宽度(不包括内边距、边框或外边距)。 height() 方法设置或返回元素的高度(不包括内边距、边
陈不成i
2021/07/22
8880
CSS——尺寸
缺省情况下,尺寸属性设定的高度和宽度仅适用于内容区域,不包括边框和内边距,这种高度宽度模式属于CSS自古以来的传统盒子模型。当前,本目录下各属性的参考文档都是基于传统盒子模型进行说明的。
Html5知典
2019/11/26
6340
SCREEN: 候选顺式调控元件
SCREEN是一个可以搜寻和可视化候选顺式调控元件的网站。其中顺式作用元件是由ENCODE中的数据中得到的。在首页搜索框中可以根据位置、基因名字或者SNP ID的名字搜索。
生信编程日常
2020/06/02
6890
SCREEN: 候选顺式调控元件
半导体芯片制造工艺过程简介
芯片作为这几年走入大众耳目的一个话题越来越被国家和人民重视。但是芯片到底是什么,如何设计、又是如何制作出来、又是如何被装入电脑、手机、汽车、甚至人脑里面。
用户2760455
2022/06/08
3.6K0
半导体芯片制造工艺过程简介
Protel怎么批量修改元件封装?
回到正题,今天说的是技巧是:在Protel 99中如何批量的修改元件的封装。我们在自己设计电路板时,一个板子上的同一类元件的封装一般都是一样的,比如可能板子上用到20个电阻,那这些电阻封装都是一样的,或者有18个是一样的,只有2个不一样,那就可以用今天说的这个方法来快速的换封装了。具体步骤如下:
单片机技术宅
2020/03/17
1.4K0
jquery 元素尺寸
从上面的示例可以看到,使用width()和height()分别可以获取元素div的width和height的值。
Devops海洋的渔夫
2019/06/02
1.6K0
元件焊反,冒烟了!咋办?
极性元件在整个PCBA加工过程中需要特别注意,因为方向性的元件错误会导致批量性事故和整块PCBA板的失效,因此工程及生产人员了解SMT极性元件极为重要。
AI 电堂
2022/12/08
6790
元件焊反,冒烟了!咋办?
【电工电子技术A】二:电路元件
电路元件分为无源元件和有源元件两类,我们上一节学到了如上图所示的五种元件,左边三个为无源的,右面两个为有源的。先来看看比较简单的无源元件。
周旋
2020/06/05
5870
【干货】低压电气元件全面解析
1 隔离开关 隔离开关:(我们所说的隔离开关,一般指的是高压隔离开关,即额定电压在1kv及其以上的隔离开关)高压开关电器中使用最多的一种电器,在电路中起隔离作用,它本身的工作原理及结构比较简单,但是由于使用量大,工作可靠性要求高,对变电所、电厂的设计、建立和安全运行的影响均较大。 隔离开关的主要特点: 1、是无灭弧能力,只能在没有负荷电流的情况下分、合电路。 2、一般送电操作时:先合隔离开关,后合断路器或负荷类开关; 3、断电操作时:先断开断路器或负荷类开关,后断开隔离开关。 隔离开关的功能作用: 1、
机器人网
2018/05/04
1.1K0
Web尺寸规范
主流浏览器的界面参数与份额 图片 系统分辨率统计 分辨率 占有率 分辨率 占有率 1366×768 15% 1440×900 13% 1920×1080 11% 1600×900 5% 1280×800 4% 1280×1024 3% 1680×1050 2.8% 320×480 2.4% 480×800 2% 1280×768 1% 网页宽度与首屏高度
红目香薰
2022/11/29
1K0
Web尺寸规范
1.1、尺寸单位
WXSS (WeiXin Style Sheets)是一套样式语言,用于描述 WXML 的组件样式。
张果
2023/05/02
2.9K0
1.1、尺寸单位
CSS尺寸和边框
            1.  px  像素(由一连串的点来组成,像素越高点越多)
十月梦想
2018/08/29
1.6K0
SwiftUI 布局 —— 尺寸( 下 )
在 上篇[3] 中,我们对 SwiftUI 布局过程中涉及的众多尺寸概念进行了说明。本篇中,我们将通过对视图修饰器 frame 和 offset 的仿制进一步加深对 SwiftUI 布局机制的理解,并通过一些示例展示在布局时需要注意的问题。
东坡肘子
2022/07/28
2.7K0
SwiftUI 布局 —— 尺寸( 下 )
jQuery 尺寸、位置操作
jQuery中分别为我们提供了两套快速获取和设置元素尺寸和位置的API,方便易用,内容如下。
星辰_大海
2020/10/09
1.1K0
jQuery 尺寸、位置操作
WPF 得到子指定元素方法和得到指定子元素集合方法MvvM得到焦点
public class UIHelper { /// <summary> /// 在Visual里找到想要的元素 /// childName可为空,不为空就按名字找 /// </summary> public static T FindChild<T>(DependencyObject parent, string childName) where T : DependencyObject
lpxxn
2018/01/31
1K0
JMeter元件作用域实践指南
为了能调用进入房间接口,需要从考场接口获取考场token。为了调用考场接口,需要从登陆接口获取登陆token。元件说明如下:
dongfanger
2021/04/12
4360

相似问题

得到反应元件的大小?

12

如何改变反应元件的尺寸?

13

样式.反应元件尺寸和性能.本机

30

如何得到承诺值反应元件?

13

动态JointJS元件尺寸

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文