在React中,当您使用react-router-dom
库进行路由管理时,可以使用useHistory
钩子将ID传递给路由器
react-router-dom
库:npm install react-router-dom
useHistory
钩子和useParams
钩子:import { useHistory, useParams } from 'react-router-dom';
useHistory
钩子创建一个history
对象:const history = useHistory();
history.push()
方法将ID附加到URL中:const redirectToDetails = (id) => {
history.push(`/details/${id}`);
};
redirectToDetails
函数。例如,在按钮的onClick
事件处理程序中:<button onClick={() => redirectToDetails(1)}>查看详情</button>
useParams
钩子获取URL中的ID: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;
DetailsPage
组件中,使用useParams
钩子获取ID: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。
领取专属 10元无门槛券
手把手带您无忧上云