Javascript 页面加载时,将钩子滚动到溢出div的底部

Javascript 页面加载时,将钩子滚动到溢出div的底部,javascript,html,reactjs,react-hooks,Javascript,Html,Reactjs,React Hooks,我只想滚动一个溢出的div,同时将页面的其余部分保持在正常的起始位置。现在调用useffect 代码 import React,{Fragment,useffect,useRef}来自'React'; const VideoPlayer=({…foo…})=>{ const chatRef=useRef(空) 常量滚动=()=>{ chatRef.current.scrollIntoView(); } useffect(()=>{ foo_函数 卷轴() },[foo_函数]; } 返回( …其

我只想滚动一个溢出的div,同时将页面的其余部分保持在正常的起始位置。现在调用
useffect

代码

import React,{Fragment,useffect,useRef}来自'React';
const VideoPlayer=({…foo…})=>{
const chatRef=useRef(空)
常量滚动=()=>{
chatRef.current.scrollIntoView();
}
useffect(()=>{
foo_函数
卷轴()
},[foo_函数];
}
返回(
…其他非溢出div内容。。。

登录到usechat

) }

使用
useLayoutEffect
代替
useffect

下面是一个简单用例的沙箱


您不需要
useRef
。试着换一种。您还可以将其作为具有相同签名的函数传递

<div ref={el => el.scrollintoview()}/>
el.scrollintoview()}/>

const cb=el=>{
foo();
el.scrollintoview();
}

我试过了-我仍然得到“无法读取null的属性'scrollIntoView'”请在回答中添加解释。这是解决方案,我在一个功能组件中实现了它,它按预期工作。ref中的功能按照文档中所述进行更新。Thx,@zero298
<div ref={el => el.scrollintoview()}/>
const cb = el => {
  foo();
  el.scrollintoview();
}

<div ref={cb}/>