reactjs - React:具有 http 标头状态的路由器
问题描述
我使用 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 header 状态仍然是 200,而不是预期的 404 。
使用客户端渲染时,有没有办法设置 404(或 301)页眉?
解决方案
您应该在服务器上处理此问题,但如果您仍希望能够在客户端设置 http 状态代码,则可以使用 npm 包。这里
从文档中,
import React from "react";
import StatusCode from "konnektid-react-status";
// render your component
const MyComponent = () => (
<StatusCode code={404}>
Sorry, page was not found
</StatusCode>
)
推荐阅读
- node.js - 如何根据实体列值对返回的数组数据进行分组 - NestJS 中的 TypeORM / Postgres
- sql - 如何在 MS Access 中创建从同一个表中查找并显示父级的查询?
- ios - M1 上的反转迦太基脚本
- php - 如何从大型 JSON 文件中获取 JSON 子项
- javascript - 从 Javascript 中的另一个函数访问 RemoveListener 函数
- node.js - 如何在 Gatsby JS 中使用自定义 Webpack 加载器?
- excel - 创建验证列表
- javascript - 使用此名称的控制器未注册
- python-3.x - TM-U220B escpos 支持更大的字体大小(Python3)
- zabbix - Zabbix 安装问题