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

React如何使用历史推送将id传递给路由器

在React中,当您使用react-router-dom库进行路由管理时,可以使用useHistory钩子将ID传递给路由器

  1. 首先,请确保已安装react-router-dom库:
代码语言:javascript
复制
npm install react-router-dom
  1. 在您的组件中,导入useHistory钩子和useParams钩子:
代码语言:javascript
复制
import { useHistory, useParams } from 'react-router-dom';
  1. 使用useHistory钩子创建一个history对象:
代码语言:javascript
复制
const history = useHistory();
  1. 创建一个函数,该函数接收ID作为参数,并使用history.push()方法将ID附加到URL中:
代码语言:javascript
复制
const redirectToDetails = (id) => {
  history.push(`/details/${id}`);
};
  1. 在需要将ID传递给路由器的地方调用redirectToDetails函数。例如,在按钮的onClick事件处理程序中:
代码语言:javascript
复制
<button onClick={() => redirectToDetails(1)}>查看详情</button>
  1. 在您的路由配置中,使用useParams钩子获取URL中的ID:
代码语言:javascript
复制
import { Route, Switch } from 'react-router-dom';
import DetailsPage from './DetailsPage';

function App() {
  return (
    <Switch>
      <Route path="/details/:id">
        <DetailsPage />
      </Route>
    </Switch>
  );
}

export default App;
  1. DetailsPage组件中,使用useParams钩子获取ID:
代码语言:javascript
复制
import { useParams } from 'react-router-dom';

function DetailsPage() {
  const { id } = useParams();

  // 使用ID执行您需要的操作,例如获取详细信息
  console.log('ID:', id);

  return (
    <div>
      <h1>Details for ID: {id}</h1>
    </div>
  );
}

export default DetailsState;

现在,当您点击按钮时,应用程序将导航到/details/:id,并将ID传递给DetailsPage组件。在DetailsPage组件中,您可以使用useParams钩子获取URL中的ID。

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

相关·内容

领券