React Router 本身是用于前端路由管理的库,它不直接与后端服务器(如 Express)的路由交互。但是,你可以通过以下几种方式实现从 React Router 重定向到 Express 的 GET 请求:
<Redirect>
组件在 React Router 中,你可以使用 <Redirect>
组件来实现页面的重定向。你可以将用户重定向到一个由 Express 处理的 URL。
import { Redirect } from 'react-router-dom';
function MyComponent() {
// 根据某些条件决定是否重定向
const shouldRedirect = true;
if (shouldRedirect) {
return <Redirect to="/express-route" />;
}
return (
<div>
{/* 其他内容 */}
</div>
);
}
在你的 Express 应用中,你需要设置一个对应的路由来处理这个请求:
const express = require('express');
const app = express();
app.get('/express-route', (req, res) => {
res.send('这是由 Express 处理的页面');
});
app.listen(3000, () => {
console.log('服务器运行在 http://localhost:3000');
});
你也可以使用 useHistory
钩子来进行编程式的导航。
import { useHistory } from 'react-router-dom';
function MyComponent() {
const history = useHistory();
function handleClick() {
history.push('/express-route');
}
return (
<button onClick={handleClick}>跳转到 Express 页面</button>
);
}
同样,确保你的 Express 应用中有对应的路由处理逻辑。
<Redirect>
或 history.push
时,实际上是在客户端浏览器中进行 URL 的更改,而不是向服务器发送请求。服务器端的路由处理仍然需要你在 Express 中正确配置。领取专属 10元无门槛券
手把手带您无忧上云