Uncaught TypeError: (0 , react_router_dom__WEBPACK_IMPORTED_MODULE_2__.useHistory) 不是一个函数 (React.js)
Uncaught TypeError: (0 , react_router_dom__WEBPACK_IMPORTED_MODULE_2__.useHistory) 不是一个函数 (React.js)
这个问题已经在其他地方有了答案:
我在使用 React Router版本6,然后运行下面的代码:
import { useHistory } from 'react-router-dom' function Test() { const history = useHistory(); history.push('/'); history.replace('/'); history.goBack(); } Test();
但是我遇到了这个错误:
Uncaught TypeError: (0 ,
react_router_dom__WEBPACK_IMPORTED_MODULE_2__.useHistory)不是一个函数
我的代码有什么错误吗?
admin 更改状态以发布 2023年5月20日
对于React Router 版本 6,请使用\"useNavigate\"而不是React Router 版本 5中的\"useHistory\"。\n因此,将你的代码(React Router 版本 5)替换为:\n
import { useHistory } from 'react-router-dom' function Test() { const history = useHistory(); history.push('/'); history.replace('/'); history.goBack(); } Test();
\n使用此代码(React Router 版本 6)替换:\n
import { useNavigate } from 'react-router-dom' function Test() { const navigate = useNavigate(); navigate('/'); // Equivalent to "history.push('/');" navigate('/', { replace: true }); // Equivalent to "history.replace('/');" navigate(-1); // Equivalent to "history.goBack();" } Test();