Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Reactjs 如何在滚动事件上设置滚动点_Reactjs - Fatal编程技术网

Reactjs 如何在滚动事件上设置滚动点

Reactjs 如何在滚动事件上设置滚动点,reactjs,Reactjs,我需要存储状态上的滚动位置。我是这样做的。但我不知道它是如何不滚动div的 const [scroll, setScroll] = (0) const scrollRef = useRef(null); const onScroll = (e) => { e.preventDefault(); setScroll(myRef.current.scrollLeft); }; <div ref={myRef} onScroll={onScroll}

我需要存储状态上的滚动位置。我是这样做的。但我不知道它是如何不滚动div的

const [scroll, setScroll] = (0)
const scrollRef = useRef(null);

 const onScroll = (e) => {
    e.preventDefault();
    setScroll(myRef.current.scrollLeft);
  };

   <div   ref={myRef} onScroll={onScroll}
        >
         <h5>item 1 </h5>
         <h5>item 2 </h5>
         <h5>item 3 </h5>
    </div>
const[scroll,setScroll]=(0)
常量scrollRef=useRef(null);
const onScroll=(e)=>{
e、 预防默认值();
设置滚动(myRef.current.scrollLeft);
};
项目1
项目2
项目3

您正在调用
e.preventDefault
。这意味着默认行为被阻止。在本例中,将显示滚动条。 拆下该行,它应该可以工作。

可以使用该行

componentDidMount() {
    let left_scroll = document.querySelector('.className')
    left_scroll.addEventListener('scroll', this.handleScroll);
   }


handleScroll = (e) => {
    let left_scroll = document.querySelector('.className') 
    if (left_scroll.scrollTop == 0){
        document.getElementById('button_className').classList.remove("hidden")
      }else if(left_scroll.scrollHeight > 800 && left_scroll.scrollTop >= 700){
        document.getElementById('button_className').classList.add("hidden") 
      }
  }


我在这里所做的是,获取该div,并尝试按照页面滚动高度显示和隐藏一个按钮,但仍然无法工作