Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript滚动到react中div的中心_Javascript_Typescript_Dom_Scrolltop_Scrollto - Fatal编程技术网

如何使用javascript滚动到react中div的中心

如何使用javascript滚动到react中div的中心,javascript,typescript,dom,scrolltop,scrollto,Javascript,Typescript,Dom,Scrolltop,Scrollto,如何使用普通javascript滚动到div元素的中心?我的要求是在组件重新加载后滚动到div的中心。我尝试使用“useEffect”和“useLayoutEffect”,但这两个触发器都是在绘制DOM之前触发的,而不是在绘制DOM之后触发的 React.useLayoutEffect(() => { document.getElementsByClassName('ms-DetailsList-contentWrapper')[0].scrollTo(0, document.g

如何使用普通javascript滚动到div元素的中心?我的要求是在组件重新加载后滚动到div的中心。我尝试使用“useEffect”和“useLayoutEffect”,但这两个触发器都是在绘制DOM之前触发的,而不是在绘制DOM之后触发的

React.useLayoutEffect(() => {

    document.getElementsByClassName('ms-DetailsList-contentWrapper')[0].scrollTo(0, document.getElementsByClassName('ms-DetailsList-contentWrapper')[0].scrollHeight / 2);

  })

React.useEffect(() => {

    document.getElementsByClassName('ms-DetailsList-contentWrapper')[0].scrollTo(0, document.getElementsByClassName('ms-DetailsList-contentWrapper')[0].scrollHeight / 2);

  })
请注意,如果在加载DOM后从控制台窗口执行此操作,则效果良好?
如何在react中执行此操作?

应该可以。
元素的计算结果是什么?还有,这个类型是从哪里来的?是的,这是TypeScript。“element”的计算结果为类型“element”@weltschmerz,刚刚编辑了问题为什么要这样编辑问题?代码现在是重复的,我看不出在那些React fn调用中包装它有什么好处。另外,我不是问
元素
的计算结果是什么类型,而是它的实际值是什么。请粘贴打印
元素
的输出。应该可以。
元素的计算结果是什么?还有,这个类型是从哪里来的?是的,这是TypeScript。“element”的计算结果为类型“element”@weltschmerz,刚刚编辑了问题为什么要这样编辑问题?代码现在是重复的,我看不出在那些React fn调用中包装它有什么好处。此外,我不是问
元素
的计算结果是什么类型,而是它的实际值是什么。请粘贴打印
元素
的输出。