我正在尝试为我的react项目实现一个路由。对于react路由器dom来说没有问题,但是我想知道如何管理深度路由页面的id,以便能够回到以前的页面。
到目前为止,我已经实现了useLocation
,也useParams
,但我不能弄清楚它的正确方式。在我的情况下,我有3级页面“主类别--〉类别--〉子类别“。每个类别有多个子类别,所以ID必须是动态的。
问题是,当我在“子类别”,我回去,React不知道我来自哪个“类别”。
我是否应该将“类别ID”传递到子类别页面?最好使用useLocation
、useParams
或Redux
?或者您有其他更好的解决方案...
`const location = useLocation();
const catName = location.state?.name;
const catID = location.state?.id;`
<BackArrow to={`/catPage/${catID}`} title={catName}/>
2条答案
按热度按时间fwzugrvs1#
如果你想回到
react-router-dom v6
中的上一页,那么你可以使用useNavigate
。如果您想后退两页,也可以将
navigate
中的数字更改为-2,以此类推。s71maibg2#
假设您的路由结构由嵌套路由组成,您可以使用react-router-dom的
Link
(Source)来使用相对路径,如下所示:也许还可以看看
useNavigate
钩子(React-dom doc)