【发布时间】:2022-06-14 21:24:21
【问题描述】:
我正在使用<NavLink /> 直接导航到特定组件。我认为这是问题所在 - 但问题是:
当路由完成并且组件呈现时,我试图让一个元素聚焦。我有一些工作的现有方法 - 滚动工作(即,我想要聚焦的元素靠近底部并且自动滚动工作。但是,焦点框不存在)。但是,当我刷新时,它会按需要工作 - 焦点具有滚动功能,并且元素周围有一个突出显示的框。
我不确定问题出在哪里,但我认为这是组件从 <NavLink /> 获取其初始渲染的事实。
这是我使用焦点的方式:
import React, { useEffect, useRef } from "react";
const Focus = () => {
const focusRef = useRef(null);
useEffect(() => {
if (focusRef && focusRef.current) {
focusRef.current.focus();
}
}, [focusRef.current]);
return (
<React.Fragment>
<h1 tabIndex="-1" ref={focus}>
Focus Here
</h1>
</React.Fragment>
);
};
非常感谢任何帮助!
【问题讨论】:
标签: javascript reactjs react-hooks