Open SupermanWY opened 3 years ago
const useRestoreScrollTop = (scrollElOrFn) => { const scrollTopRef = useRef(null) useKeepAliveEffect(() => { console.log('scrollTopRef', scrollTopRef) const scrollEl = typeof scrollElOrFn === 'function' ? scrollElOrFn() : scrollElOrFn if (scrollTopRef.current === null) { scrollEl.scrollTop = scrollTopRef.current } return () => { console.log(scrollEl.scrollTop) scrollTopRef.current = scrollEl.scrollTop } }) }
return 的函数中实际获取的是刚进入的组件的scrollTop,并非刚离开组件的 scrollTop。
return 的函数中实际获取的是刚进入的组件的scrollTop,并非刚离开组件的 scrollTop。