替换react-router-dom v6中的history.replace

Pra*_*van 24 javascript reactjs

我以前用过react-router-dom v5.2.0. 我曾经history.replace('/path)将页面重定向到另一个页面。(因此它不会存储在地址历史记录中)。现在我必须使用react-router-dom v6.0.0-beta.0. 在版本6中,我必须使用useNavigatehook而不是useHistoryhook。我可以如下使用它。

const navigate = useNavigate();
navigate('/path')
Run Code Online (Sandbox Code Playgroud)

但我不知道如何使用它进行重定向。(喜欢history.replace

Ako*_*Ako 62

如果您需要替换当前位置而不是将新位置推送到历史堆栈上,请使用navigate(to, { replace: true }). 如果您需要状态,请使用navigate(to, { state }).

  • 对于初学者来说,它看起来像这样`navigate("/login", {replace: true })` (5认同)

hus*_*iti 7

如果您尝试将当前路径替换为另一个路径,则应该在新路径之前添加../ ,因此基本上:

navigate("../login", { replace: true })
Run Code Online (Sandbox Code Playgroud)