在react js中动态添加到body中的数据时滚动到页面底部?

2024-04-24

我有一个如下所示的组件:

class App extends React.Component {
    constructor(props){
        super(props);
    }
    render() { 
        return (
            <div>
                {this.state.renderedThings.map((element, index) => (
                    <div key={index} className="cont">
                        <img alt="avatar" className="BlockOneImg" src={`./${element.image}.png`} role="presentation"/>
                    </div>
                )}
            </div>
        )
    }
}

每次都会动态添加图像,我需要滚动到添加的当前图像。


我已完成以下操作以使滚动到底部或最近添加的 DOM:

在您的图像 div 中添加引用,如下所示:

<div key={index} className="cont" ref={(ref) => this.newData = ref}        
   <img alt="avatar" className="BlockOneImg" src={`./${element.image}.png`}/>
</div>

并添加如下生命周期:

componentDidUpdate() {
    this.newData.scrollIntoView({ behavior: "smooth" })
}

希望这有效!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在react js中动态添加到body中的数据时滚动到页面底部? 的相关文章

随机推荐

  • iOS - 异步图像下载

    我正在编写一个应用程序 它将在 UIImageView 中显示在我的服务器上找到的图像 我需要一些能够异步下载图像并缓存它的东西 同时将其放入 UIImageView 中 当我按下按钮时 下载也需要能够取消 谁能指出我可以做到这一点的方向吗
  • 为什么 JVM 同时具有“invokespecial”和“invokestatic”操作码?

    两条指令都使用静态而不是动态调度 似乎唯一的实质性区别是invokespecial始终将一个对象作为其第一个参数 该对象是分派方法所属类的实例 然而 invokespecial实际上并没有把物体放在那里 编译器负责通过在发出之前发出适当的堆
  • 视图“~/Views/Login/Login.aspx”必须派生自 ViewPage、ViewPage、ViewUserControl 或 ViewUserControl

    因此 我在 ASP NET mvc2 解决方案上遇到此错误 该解决方案曾经工作正常 我必须安装 Visual Studio 2012 但磁盘空间不足 因此必须手动卸载一些 Visual Studio 2010 功能 但目前看来并非完全必要
  • 嵌套的可分割对象不读取

    我正在尝试打包一个包含一些 string int 变量和一个对象变量的对象 字符串和整数可以工作 但嵌套对象不行 我知道我也必须将其打包 但我显然做错了 在我的嵌套类中 writeToParcel方法被调用 我检查Log d 调用 但是cr
  • Javascript:如何实现异步函数队列(无需库)

    我一直在搜索谷歌和SO 但由于某种原因我很难解决这个问题 只是强调一下 我不想加载像 JQuery 这样的库 因为我不需要它的大部分内容 当我could使用动画库 我已经构建了我自己需要的几个函数 其中一些甚至不是您在库中找到的标准动画 所
  • 用于 SQL 更新语句的 Java 单工作线程

    我正在开发一个基于 Java 的服务器 其中有多个线程 每个连接的用户一个线程 一些额外的线程 会涉及到一些数据库连接 所以我在想服务器每次创建一个SELECT查询数据库时 它将为此启动一个新线程 以防止当前线程阻塞 我计划为此使用连接池
  • 当我尝试打开我的网络应用程序(在本地主机上运行)时,Heroku 给出了 503

    我正在尝试部署到heroku 但即使它在本地主机上运行 也会得到503 我很好奇我的服务器是否设置正确 因为我是编程新手 我希望任何人都可以为我指出正确的方向 即在哪里查找或提供建议 因为我在谷歌上花费了无数个小时 跨越了几周的时间 我的主
  • 如何在C中访问正确的全局变量?

    假设我在 main c 中有一些全局变量 GLOBAL 但我的 main c 有一个 include other h 但 other h 也有全局变量 GLOBAL 当我在 main c 中写 GLOBAL 时 如何让编译器知道我的意思是哪
  • 附加不同 Promise 链时 JavaScript Promise 的执行顺序

    我想检查一下promise对象通过创建一个promise并传递给其他人并让其他人附上then到它 输出与我的预期相去甚远 我不明白它是如何执行的 const wait time gt return new Promise res rej g
  • 如何禁用 jQuery 日期选择器中的月份选择?

    我正在尝试禁用允许用户更改月份的左 右按钮 我已经删除了月份的下拉列表 但无法删除按钮 date datepicker changeMonth false changeYear false dateFormat dd mm yy durat
  • 适合所有人的 vsixmanifest:VS 2010、2012 和 2013

    我在 VS2013 下使用 VSIX 清单设计器 我已经添加微软VisualStudio专业版产品标识符和 10 0 13 0 安装目标的版本范围 尽管如此 我仍然没有将 VS2010 Professional 视为可用的安装目标 sour
  • 如何正确阅读EcmaScript规范

    我对 JavaScript 二进制逻辑运算的 它是如何工作的 知识感兴趣 但我陷入了步骤解释 这就是规格的描述 12 13 3 https www ecma international org ecma 262 8 0 index html
  • 使用 Dask 处理大型压缩 csv 文件

    设置是我有八个大的 csv 文件 每个 32GB 每个文件都用 Zip 压缩为 8GB 文件 我无法使用未压缩的数据 因为我想节省磁盘空间 但没有剩余 32 8GB 空间 我无法加载一个文件 例如pandas因为它不适合内存 我认为 Das
  • Java 泛型值。

    我进行了一次面试测试 看到了以下代码 EDIT public class TestValue private Value
  • 获取前 5 个频繁值及其总数 Linq-to-Sql

    我正在使用这个 Linq to sql 来获取最多出现的记录 List
  • R 中 NA 的累积回报

    我有以下数据框 df lt data frame Return1 c NA NA 03 04 05 Return2 c 25 33 NA 045 90 Return3 c 04 073 08 04 01 Return1 Return2 Re
  • React Native:-如何在所有页面上使用公共抽屉和工具栏并进行控制

    我是 React Native 的新手 我想为 android 和 ios 制作一个抽屉和工具栏 我在我有导航器的主页上编写了抽屉和工具栏的代码 就像例如
  • Eclipse 总是突然关闭

    最近我的 Eclipse 遇到了很多问题 它不断崩溃 突然关闭 根本无法正常工作 这种情况发生的次数太多了 比如每 10 15 分钟一次 发生这种情况时 CPU 和 RAM 可用 50 这是eclipse ini file startup
  • 为什么条件(三元)运算符看起来明显更快?

    EDIT 如果我使用Stopwatch正确地将迭代次数增加两个数量级 我得到 三进制耗时 22404ms 正常耗时21403ms 这些结果更接近我的预期 让我觉得世界一切都好 如果不是我的代码 事实上 三元 条件运算符稍微慢一些 继从这个问
  • 在react js中动态添加到body中的数据时滚动到页面底部?

    我有一个如下所示的组件 class App extends React Component constructor props super props render return div this state renderedThings