【问题标题】:React: router with http header statusReact:具有 http 标头状态的路由器
【发布时间】:2019-01-07 08:34:04
【问题描述】:

我使用 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)页眉?

【问题讨论】:

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


    【解决方案1】:

    你应该在你的服务器上处理这个,但如果你仍然希望能够在客户端设置 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>
    )
    

    【讨论】:

    • 感谢提示,但我无法安装模块:(0, _keys2.default)(options).forEach(function (key) { TypeError: Cannot convert undefined or null反对
    猜你喜欢
    • 2017-05-03
    • 2022-10-16
    • 2017-02-02
    • 2018-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 2016-04-06
    相关资源
    最近更新 更多