Redirect 使用React路由器重定向时在响应代码之间进行选择

Redirect 使用React路由器重定向时在响应代码之间进行选择,redirect,react-router,Redirect,React Router,在带有服务器端渲染的基于React的应用程序中,我使用React路由器的match。为了从一些URL重定向到其他URL,我使用React路由器的redirect组件。在服务器端,我正在检查match接受的回调函数的redirect参数(这是位置对象),如果该参数存在(当redirect组件匹配时),我将其用于重定向,如下所示: if (redirect) { let { pathname, search } = redirect; res.redirect(301, `${

在带有服务器端渲染的基于React的应用程序中,我使用React路由器的
match
。为了从一些URL重定向到其他URL,我使用React路由器的
redirect
组件。在服务器端,我正在检查
match
接受的回调函数的
redirect
参数(这是
位置
对象),如果该参数存在(当
redirect
组件匹配时),我将其用于重定向,如下所示:

  if (redirect) {
    let { pathname, search } = redirect;

    res.redirect(301, `${pathname}${search}`);
  }

问题就在这里。在上面的代码片段中,我的服务器将始终使用http代码301重定向,而在某些情况下,我需要发送302个响应,在另一些情况下发送301个响应。我想不出一个好的、惯用的方法来通过React路由器传递额外的信息,然后服务器可以使用React路由器来决定是301重定向还是302重定向。你能提供一些建议吗?

我正试图解决同样的问题。现在我想我将默认设置为
301
,并将
302
状态代码添加到替换位置描述符中的
state
。是的,最终我做了同样的事情:-)我试图解决完全相同的问题。现在,我想我将默认设置为
301
,并将
302
状态代码添加到替换位置描述符中的
state
。是的,最终我做了同样的事情:-)