我為 Div 標簽定義了一個userRef設定:scrollTop
const listRef = useRef<HTMLDivElement>(null);
但我無法使用此代碼設定 scrollTop:
listRef.scrollTop = listRef.current.scrollHeight;
回傳此錯誤: Object is possibly 'null'
uj5u.com熱心網友回復:
設定默認值
const listRef = useRef<HTMLDivElement>(document.createElement('div'))
使用可選運算子
listRef.scrollTop = current?.scrollHeight || 0
uj5u.com熱心網友回復:
window.scrollTo({ top: 0, behavior: 'smooth' })
uj5u.com熱心網友回復:
首先初始化這個狀態:
const [showButton, setShowButton] = useState(false);
然后在你的 useEffect 鉤子中添加這個:
window.addEventListener("scroll", () => {
if (window.pageYOffset > 300) {
setShowButton(true);
} else {
setShowButton(false);
}
});
這是 useEffect 掛鉤之外的 scrollToTop 函式:
const scrollToTop = () => {
window.scrollTo({
top: 0,
behavior: 'smooth'
});
};
然后只需將此 html 部分粘貼到您的反應回傳回圈中:
{showButton && (
<button onClick={scrollToTop} className="back-to-top">^
</button>)}
請支持這個答案:)
uj5u.com熱心網友回復:
嘗試使用可選鏈接使打字稿僅在父屬性沒有null或undefined值時才訪問該屬性。
此外,您可能忘記將current屬性與 ref 一起使用。
const listRef = useRef<HTMLDivElement | null>(null);
listRef.current?.scrollTop = listRef.current?.scrollHeight;
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/414469.html
標籤:
