安装了 react-router-dom 引用withRouter 为啥还报这个错呢
一开始在网上搜索这个错误原因,说是因为react-router-dom版本太低需要升级版本,可是升级之后依旧报错,于是去查官方文档React Router | Docs Home
在v6的升级说明里提到如果想用withRouter就要用hooks代替,所以解决办法有两个:
一、把react-router-dom版本降级到v5。
二、如果使用v6版本的话可以自定义一个withRouter
import { useHistory } from 'react-router-dom';
export const withRouter = (Component) => {
const Wrapper = (props) => {
const history = useHistory();
return (
<Component
history={history}
{...props}
/>
);
};
return Wrapper;
};