首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

不确定如何使用react-router v4实现history.push

在 React Router v4 和更高版本中,要实现 history.push,你需要访问 history 对象

  1. react-router-dom 引入 withRouter: import { withRouter } from 'react-router-dom';
  2. 使用 withRouter 高阶组件 (HOC) 包装你的组件,使其具有 history 属性: class MyComponent extends React.Component { // ... } export default withRouter(MyComponent);
  3. 现在,你可以在组件的 this.props.history 中访问 history 对象,并使用 push 方法导航到新路径: class MyComponent extends React.Component { handleNavigate = () => { this.props.history.push('/new-path'); }; render() { return ( <button onClick={this.handleNavigate}>Go to new path</button> ); } } export default withRouter(MyComponent);

如果你使用的是函数组件,可以使用 useHistory Hook:

  1. react-router-dom 引入 useHistory: import { useHistory } from 'react-router-dom';
  2. 在函数组件中使用 useHistory Hook 创建 history 对象,并使用 push 方法导航到新路径: import React from 'react'; import { useHistory } from 'react-router-dom'; const MyComponent = () => { const history = useHistory(); const handleNavigate = () => { history.push('/new-path'); }; return ( <button onClick={handleNavigate}>Go to new path</button> ); }; export default MyComponent;

这样,你就可以在 React Router v4 和更高版本中实现 history.push 功能了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券