在使用React-Router重定向时选择响应代码

时间:2016-10-06 09:37:14

标签: redirect react-router

在具有服务器端呈现的基于React的应用程序中,我使用的是match utility的React Router。要从某些网址重定向到其他网址,我使用了React Router的Redirect组件。在服务器端,我正在检查redirect所采用的回调函数的match参数(这是Location对象),以及是否存在此参数(因为它是Redirect组件匹配),我用它来重定向,如下所示:

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

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

这是问题所在。在上面的代码片段中,我的服务器将始终使用http代码301重定向,而在某些情况下我需要发送302响应,而在其他情况下需要发送301响应。我无法找到通过React Router传递额外信息的良好惯用方法,然后服务器可以使用该方法来决定301或302重定向。你能提出任何建议吗?

0 个答案:

没有答案