【发布时间】:2021-08-05 13:10:27
【问题描述】:
我有一个使用 React Router 定义 URL 的 React 应用:
const App: React.FC = (): JSX.Element => {
return (
<Router>
<Switch>
<Redirect exact from="/" to="/rules" />
<Route
exact
path={["/rules", "/rules/:placeId"]}
component={LandingPage}
/>
<Route
exact
path={["/route", "/route/:start/:end"]}
component={RoutePage}
/>
</Switch>
</Router>
);
};
如果 url 包含像 /rules/someplace#accordion-3 这样的哈希部分,我想允许用户转到文档的特定手风琴
我有一个组件可以返回有问题的手风琴,它们都有一个 id:
const CategoryDisplay: React.FC<Props> = (props) => {
...
return (
<>
<Accordion
id={`category-${accordion.id}`}/>
</>
);
};
export default CategoryDisplay;
当我已经在页面上打开带有/rules/someplace#accordion-3 之类的锚点的 URL 时,一切正常并滚动到元素。但是,在页面的初始加载时,此行为不起作用。
如何在页面加载后才滚动到元素?
【问题讨论】:
标签: javascript reactjs react-router react-router-dom