ReactJS:在react-rooter-dom中,useHistory是否已弃用?

Pol*_*ood 9 reactjs react-router react-router-dom

使用此代码:

import { Link, useHistory } from "react-router-dom";
Run Code Online (Sandbox Code Playgroud)

...

const history = useHistory();
Run Code Online (Sandbox Code Playgroud)

...

history.push("/login");
Run Code Online (Sandbox Code Playgroud)

显示此错误:

在此输入图像描述

useHistory 过时了吗?或者我确实需要使用另一个功能?

Ste*_*e K 11

是的,它在 React-router V6 中被贬值了。在此版本中使用useNavigate钩子进行导航。检查这里的文档React Router V6 API Reference。或者更具体地说,useNavigate这里的钩子是React Router v6 UseNavigate Hook。就像这样:

import { useNavigate } from 'react-router-dom'

const navigate = useNavigate()

navigate('/login')
Run Code Online (Sandbox Code Playgroud)