我有一个反应路由器,用于验证用户身份。
<BrowserRouter>
<Switch>
<Route exact path="/" component={GuitarTable} />
<Route path="/guitar/:id" component={GuitarDetails} />
</Switch>
</BrowserRouter>
我在经过身份验证的页面上有一个链接,如下所示:
<Link to={`/guitar/${guitar._id}`}>Details</Link>
当用户从历史记录中转到/ guitar /:id时,页面将显示为空白,导航甚至不显示。我假设道具没有传入,因此页面无法正确呈现。但是我不希望用户每次都必须回到仪表板。
即使没有传递任何道具,我也希望以某种方式设置/ guitar /:id页面,它会检查用户是否已通过身份验证,然后做出反应,从URL中获取:id参数,并进行网络调用以获取数据库中的信息。
如何停止渲染空白页面并在刷新后正确渲染页面?