Fix sticky header calc.

This commit is contained in:
Mike Cao 2020-08-11 22:29:41 -07:00
parent f4ca353b5c
commit dc267f8daa

View File

@ -10,15 +10,15 @@ export default function StickyHeader({
}) { }) {
const [sticky, setSticky] = useState(false); const [sticky, setSticky] = useState(false);
const ref = useRef(); const ref = useRef();
const offsetTop = useRef(0); const top = useRef(0);
useEffect(() => { useEffect(() => {
const checkPosition = () => { const checkPosition = () => {
if (ref.current) { if (ref.current) {
if (!offsetTop.current) { if (!top.current) {
offsetTop.current = ref.current.offsetTop; top.current = ref.current.offsetTop + ref.current.offsetHeight;
} }
const state = window.pageYOffset > offsetTop.current; const state = window.pageYOffset > top.current;
if (sticky !== state) { if (sticky !== state) {
setSticky(state); setSticky(state);
} }