【发布时间】:2023-02-17 19:53:15
【问题描述】:
如上图所示,在用户配置文件中,用户可以单击他的一个帖子,打开包含该特定帖子的模式,此后 url 会更改但不会导航到另一个页面。
我正在尝试在我的应用程序中做同样的事情,我尝试过做 history.push 之类的事情,但它不起作用,我认为这是反应路由器的原因。
【问题讨论】:
-
你在使用 react-router-dom 库吗?
标签: reactjs react-router
如上图所示,在用户配置文件中,用户可以单击他的一个帖子,打开包含该特定帖子的模式,此后 url 会更改但不会导航到另一个页面。
我正在尝试在我的应用程序中做同样的事情,我尝试过做 history.push 之类的事情,但它不起作用,我认为这是反应路由器的原因。
【问题讨论】:
标签: reactjs react-router
要实现您描述的行为,您可以使用 React Router 来管理 URL 更改并显示带有帖子内容的模态。
<Route path="/posts/:postId" component={PostModal} />
<Link to={`/posts/${postId}`}>View Post</Link>
import { useParams } from 'react-router-dom';
function PostModal() {
const { postId } = useParams();
// Fetch post data and display it in modal
}
之后,使用 CSS 将模态显示为现有内容之上的叠加层,并使用 JavaScript 适当地显示和隐藏模态。
【讨论】: