withRouter 报错 TypeError: Cannot read properties of undefined (reading 'props')
时间: 2023-10-12 09:18:04 浏览: 70
这个错误通常是因为 `withRouter` 没有正确地应用在组件上导致的。首先确保你已经正确地将 `withRouter` 引入到了组件中,并且该组件被 `export`。
例如:
```jsx
import { withRouter } from 'react-router-dom';
class MyComponent extends React.Component {
render() {
return (
<div>
{/* ... */}
</div>
);
}
}
export default withRouter(MyComponent);
```
如果你已经这样做了,但仍然遇到了这个错误,那么可能是因为你在函数组件中使用了 `withRouter`。在函数组件中,你需要使用 `useHistory`、`useLocation` 和 `useParams` 这些 hooks 来获取路由信息,而不是使用 `withRouter`。例如:
```jsx
import { useHistory, useLocation, useParams } from 'react-router-dom';
function MyComponent() {
const history = useHistory();
const location = useLocation();
const params = useParams();
return (
<div>
{/* ... */}
</div>
);
}
export default MyComponent;
```
希望这能帮助你解决问题!
阅读全文