React:带有HTTP标头状态的路由器

时间:2019-01-07 08:34:05

标签: reactjs http-headers react-router-dom

我使用react-router-dom将我的react应用程序(客户端渲染)创建为单页应用程序。使用以下方法捕获404页面非常简单:

import {Router} from 'react-router-dom';
import {Switch, Route, Redirect} from 'react-router-dom';
...

const Main = () => {
    return (
        <Router history={history}>
            <Switch>
                <Route exact path="/" component={Home}/>
                ...
                <Route path="*" status={404} component={PageNotFound}/>
            </Switch>
        </Router>
    )
};

export default Main;

这有效。但是,当呈现PageNotFound组件时, http标头状态仍为200 ,而不是预期的404。

使用客户端呈现时,是否可以设置404(或301)页面标题?

1 个答案:

答案 0 :(得分:0)

您应该在服务器上处理此问题,但是如果仍然希望在客户端设置http状态代码,则可以使用npm软件包。 Here

从文档中

import React from "react";

import StatusCode from "konnektid-react-status";
// render your component
const MyComponent = () => (
  <StatusCode code={404}>
    Sorry, page was not found
  </StatusCode>
)