Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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 如何反应可控/默认不可控滚动位置_Javascript_Html_Reactjs - Fatal编程技术网

Javascript 如何反应可控/默认不可控滚动位置

Javascript 如何反应可控/默认不可控滚动位置,javascript,html,reactjs,Javascript,Html,Reactjs,是否有任何方法可以创建具有可控和/或默认不可控滚动位置的react组件 我创建了一个react组件,它具有overflow=scroll/auto 一切都是通过ref=elmRef技巧和通过useffect操纵来完成的 它是否能够不使用ref?我想做一个纯粹的反应方式 我觉得使用ref就像一种jquery方式。操作在实际dom组件渲染后完成,如果操作导致修改任何状态,则可能会在启动时触发第二次渲染。存在一种状态,该值取决于滚动位置。两次呈现dom会浪费性能 这里是我创建的组件的可视化: 你到底在

是否有任何方法可以创建具有可控和/或默认不可控滚动位置的react组件

我创建了一个react组件,它具有
overflow=scroll/auto

一切都是通过
ref=elmRef
技巧和通过
useffect
操纵来完成的
它是否能够不使用
ref
?我想做一个纯粹的反应方式

我觉得使用
ref
就像一种
jquery方式
。操作在实际dom组件渲染后完成,如果操作导致修改任何状态,则可能会在启动时触发第二次渲染。存在一种状态,该值取决于滚动位置。两次呈现dom会浪费性能

这里是我创建的组件的可视化:

你到底在用
ref
做什么?它读取element.scrollTop并计算哪个部分是可见的,然后设置setActiveIndex(visibleSectionIndex),然后getActiveIndex将ul>li设置为Highlight。这听起来是使用
ref
的好理由。我正在寻找一个类似于scrollPos={scllPos}的解决方案&scrollPosChanged={handleIt},因此可以删除{ref}并返回到标准的反应方式。您可能需要一个react-onscroll处理程序,要保存其中的值,需要一个
ref
。这是一个天气问题,ref指向一个值的DOM元素