react怎么设置div高度

react设置div高度的方法:1、通过css方式实现div高度;2、在state中声明一个对象C,并在该对象中存放更换按钮的样式,然后获取A并重新设置C中的“marginTop”即可。

react怎么设置div高度

本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。

react怎么设置div高度?

react动态设置元素高度

使用react实现动态修改样式(不建议使用此方式,除非没有其他选择)

如下图所示:

452e395474954a6ac4b2d01d7751fea.jpg

需求

实现图中的更换按钮紧随图片的右下方,图片高度发送改变时,更换按钮的位置也跟着改变。

思路

1.通过css方式实现(改方案暂时没有解决办法)
2.利用react数据驱动视图的特性
2.1 数据:在state中声明一个对象C,该对象存放更换按钮的样式。
2.2 操作: 设 A = 图片高度, B = 更换按钮高度。图片加载完成后,获取A并将重新给设置C中的marginTop。(该思路只需改变数据,不需要考虑视图层)

完整代码

construct中

this.state = {  updateBtnStyle :{    fontSize: "12px",marginLeft:'20px',marginTop:'300px',  }}//在class中定义的函数,如果需要使用到全局this,需要此操作this.loading = this.loading.bind(this)

登录后复制

声明操作函数loading

loading(){    const imgHeight =  document.getElementById('facePhoto').height    console.log('图片的高度',document.getElementById('facePhoto')?.height)    if(imgHeight === Number.parseInt(this.state.updateBtnStyle.marginTop)+24) return    else{      this.setState({        updateBtnStyle:{          marginTop:document.getElementById('facePhoto')?.height-24+'px'        }      })    }}

登录后复制

视图层伪代码

    react怎么设置div高度     

登录后复制

过程遇到的问题

1.获取图片的高度:
1.1 获取的时间:需要等图片加载完成后获取其高度才有效,因此需要使用img的onLoad事件,确保获取图片高度时,图片已经加载完成。
1.2 获取的方式: 图片的宽高度是通过属性height,width,而不是通过style设置,因此获取高度的方法=document.getElementById(‘xxx’).height
2.声明的函数没有绑定this,导致无法使用setState

推荐学习:《react视频教程》

以上就是react怎么设置div高度的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2922188.html

(0)
上一篇 2025年3月11日 18:36:06
下一篇 2025年2月19日 09:47:18

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • react 怎么改变列表状态

    react改变列表状态的方法:1、打开相应的react文件;2、循环一个列表,然后通过index改变原数组项;3、通过state更改原数组,使列表重新渲染即可。 本教程操作环境:Windows10系统、react18.0.0版、Dell G…

    2025年3月11日
    200
  • H5使用react组件实现拍照、选择图片上传

    本篇文章给大家带来的内容是关于h5使用react组件实现拍照、选择图片上传,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 前段时间项目重构,改成SSR的项目,但之前用的图片选择上传组件不支持SSR(server-side-…

    编程技术 2025年3月11日
    200
  • HTML5如何使用SVG(代码示例)

    本篇文章给大家带来的内容是关于HTML5如何使用SVG(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 代码优化永远是程序员亘古不变的需求,而合理的利用SVG图片来代替部分PNG/JPG等格式的图片则是前端优化重…

    2025年3月11日
    200
  • 彻底理解CSS中视觉格式化模型(附示例)

    本篇文章给大家带来的内容是关于彻底理解css中视觉格式化模型(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 不论你在什么时候开始,重要的是开始之后不要停止。 前言 对于部分前端工程师来讲,有时候CSS令他们很头疼…

    2025年3月10日
    200
  • CSS中display: inline-block的用法解析

    本篇文章给大家带来的内容是关于css中display: inline-block的用法解析,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 迷之间隙 我们创建一个导航列表,并将其列表 item 设置为 inline-bloc…

    2025年3月10日
    200
  • react中使用css的七种方法介绍(附代码)

    本篇文章给大家带来的内容是关于react中使用css的七种方法介绍(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 第一种: 在组件中直接使用style 不需要组件从外部引入css文件,直接在组件中书写。 impo…

    2025年3月10日
    200
  • React中跨组件分发状态的三种方法介绍

    这篇文章给大家介绍的内容是关于react中跨组件分发状态的三种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 当我问自己第一百次时,我正在研究一个典型的CRUD屏幕:“我应该将状态保留在这个组件中还是将其移动到父组…

    2025年3月9日
    200
  • 实例详解react.js父子组件数据绑定实时通讯

    本文主要和大家介绍react.js 父子组件数据绑定实时通讯的示例代码,react.js我自己还在摸索学习中,碰到父子组件数据绑定实时通讯的问题,研究了一下,分享给大家,也给自己留个笔记: import React,{Component} …

    编程技术 2025年3月8日
    200
  • react.js的学习

    这次给大家带来react.js的学习,react.js学习的注意事项有哪些,下面就是实战案例,一起来看一下。 react本质上是一个状态机,可以帮助开发者管理复杂的随时间变化的状态。它以一个精简的模型实现了这一点,react只关心两件事: …

    编程技术 2025年3月8日
    200
  • React.js之props

    这次给大家带来react.js之props,使用react.js的props注意事项有哪些,下面就是实战案例,一起来看一下。 父组件向子组件传值 登录后复制 在Son组件接收父组件传递过来的值 接收到的父页面的属性 — userid: {…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论