如何使用 举个两个最经典的例子: 在 axios 拦截器中消费上下文,使用 useContext 在 axios 中使用第三方路由 React Router 消费上下文 在 react 中,...react 中活了过来,拦截器会实时把请求记录在 react 的上下文中,我们可以在 react 的任意地方调用日志上下文查看请求日志。...在默认页面 DefaultPage 组件中,我们可以进行一次错误的请求,请求会返回给我们 404 的状态码,现在我们需要在 axios 中进行拦截,当请求出现 404 时,跳转到 /404 页面。...(interId); }, [historyRef]); } 复制代码 大功告成,现在所有的 404 请求都会将页面重定向到 /404 页面,在 codesandbox 中错误请求会把错误信息展示到页面上...你现在可以尝试点击默认页中的按钮,它会进行一个 404 请求,页面将重定向到 /404 页面。
"我在团队中的地位,在于我懂他们不会的东西。因此要保持核心竞争力,就是不要告诉别人自己会的东西" 技术团队中,保持技术分享和持续的学习是完全必要的。企业主会说:"公司不是培训机构。"这固然正确。...但在antd-pro中,这是不必要的。在antd-pro中,自动化创建优秀到让人咋舌的地步。.../layouts", routes: [ // 移动之前路由配置到这里 ] } ] }; 把所有后台相关的页面组件全部放倒layout中。..., 401: "用户没有权限(令牌、用户名、密码错误)。", 404: "发出的请求针对的是不存在的记录,服务器没有进行操作。", 500: "服务器发生错误,请检查服务器。"...添加到"我的收藏中" 技术上说,题库的主体是一个列表页,透过列表可以拿到详情页。通过实现题库,可以学习如何在umi的框架下创建页面。
其他问题 1、页面重构怎么操作? 网站重构:在不改变外部行为的前提下,简化结构、添加可读性,而在网站前端保持一致的行为。 也就是说是在不改变UI的情况下,对网站进行优化,在扩展的同时保持一致的UI。...,Mozilla 中,需要调用 preventDefault() 方法; 停止事件冒泡,IE 中阻止事件进一步冒泡,需要设置 cancelBubble 为 true,Mozzilla 中,需要调用 stopPropagation...404 Not Found 找不到如何与 URI 相匹配的资源。 500 Internal Server Error 最常见的服务器端错误。...——一个404错误表明可连接服务器,但服务器无法取得所请求的网页,请求资源不存在。...HTTP 503:由于超载或停机维护,服务器目前无法使用,一段时间后可能恢复正常 10、一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。 使用场景: 当我们在做活动时,登录到首页自动重定向,进入活动页面。 未登陆的用户访问用户中心重定向到登录页面。...访问404页面重新定向到首页。 (3)303 See Other 该状态码表示由于请求对应的资源存在着另一个 URI,应使用 GET 方法定向获取请求的资源。...303 状态码通常作为 PUT 或 POST 操作的返回结果,它表示重定向链接指向的不是新上传的资源,而是另外一个页面,比如消息确认页面或上传进度页面。而请求重定向页面的方法要总是使用 GET。...源代码经过webpack处理之后的最终产物。 loader:模块转换器。本质就是一个函数,在该函数中对接收到的内容进行转换,返回转换后的结果。...在以上过程中,Webpack 会在特定的时间点广播出特定的事件,插件在监听到相关事件后会执行特定的逻辑,并且插件可以调用 Webpack 提供的 API 改变 Webpack 的运行结果 构建流程核心概念
404 Not Found 找不到如何与 URI 相匹配的资源。 500 Internal Server Error 最常见的服务器端错误。...Redux\Dva Redux是如何做到可预测呢? Redux将React组件划分为哪两种? Redux是如何将state注入到React组件上的?...404 Not Found 找不到如何与 URI 相匹配的资源。 500 Internal Server Error 最常见的服务器端错误。...401——请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 402——保留有效ChargeTo头响应 403——禁止访问,服务器收到请求,但是拒绝提供服务 404——一个...404错误表明可连接服务器,但服务器无法取得所请求的网页,请求资源不存在。
我们在mockjs中也增加api。...由此,中台代理后台请求功能完成。 图标/样式 现在的同构应用,有个不大不小的问题:在network中,请求favicon.ico总是404。...你会发现整个页面都红了。查看源代码,发现css是直接插入到header的style标签中的,直接作用于全局。 如何对样式进行模块化(BEM)处理?将在后面解决。...状态码支持 当请求到一个不匹配的路由/接口,如何优雅地告诉用户404?...功能搞定 又比如说我要对user页面做登录支持,当访问user页面时,做301重定向: // container/User.js import {Redirect} from 'react-router-dom
同时,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。使用场景:当我们想换个域名,旧的域名不再使用时,用户访问旧域名时用301就重定向到新的域名。...因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。使用场景:当我们在做活动时,登录到首页自动重定向,进入活动页面。未登陆的用户访问用户中心重定向到登录页面。访问404页面重新定向到首页。...303 状态码通常作为 PUT 或 POST 操作的返回结果,它表示重定向链接指向的不是新上传的资源,而是另外一个页面,比如消息确认页面或上传进度页面。而请求重定向页面的方法要总是使用 GET。...状态码304并不是一种错误,而是告诉客户端有缓存,直接使用缓存中的数据。返回页面的只有头部信息,是没有内容部分的,这样在一定程度上提高了网页的性能。...当错误发生时,需修改请求的内容后再次发送请求。另外,浏览器会像 200 OK 一样对待该状态码。
以上定义中 Hyper 有拓展的一层意思,互联网创始之初,人们就在思考如何更加方便的在互联网传输信息,最初这些信息都是以文本形式进行传输,随着互联网信息越积约多,就急需一种让文件之间互相关联起来的方式来提高信息查找效率...image.png HTTP 的工作方式 浏览器 用户在地址栏输入 URL -> 回车 -> 浏览器拼装 HTTP 报文并发送请求到服务器 -> 服务器处理请求后发送响应报文给浏览器 -> 浏览器解析响应报文并使用渲染引擎显示到界面...APP 用户通过点击或其它交互触发联网需求 -> APP 代码执行调用拼装 HTTP 报文并发送请求到服务器 -> 服务器处理请求后发送响应报文给手机 -> 手机接收到响应报文并做相应处理(接收到...HTML 页面加载显示到 WebView,接收到 Json 数据解析存储或展示到 UI 等) 请求方法(Request Method) GET 用于获取资源 对服务器数据不进行修改 不发送 Body 请求头...3xx:重定向;301(永久移除)、302(暂时移动)、304(内容未改变)。 4xx:客户端错误;400(客户端请求出错)、401(认证失败)、403(被禁止)、404(找不到内容)。
注意:这里指的不是你在 loader 内部发的 fetch 请求,而是当用户路由到当前路径时,发出的“请求”(其实在Single-Page App中,router已经拦截了这个真实的请求,只有Multi-Page...不行,因为如果你用window.location获取的信息是当前最新的值,如果用户快速的点击按钮,让页面路由到A,并立马路由到B,这时候路由A对应的Route的loader获取window.location...注意,传递 request,还有个好处,它有个 request.signal,当用户快速的点击按钮,让页面路由到A,并立马路由到B,页面A的loader的请求应该被取消掉,可以通过 signal 实现,...但是 React Router 官方建议,返回一个 Web规范 中的 Fetch API 的 Response。...2.2.2.1 特殊返回值: redirect在 loader 中,可能校验后需要重定向,React Router 不建议你用 useNavigation
; }; // 接收消息 ws.onmessage = (e) => { console.log('收到消息:', e.data); }; // 关闭连接 ws.onclose = () =>...能跟我讲讲你是怎么理解 ssr 的吗 回答: SSR(Server-Side Rendering)指在服务端生成完整 HTML 页面,核心优势: SEO 友好:爬虫直接获取渲染后的内容。...返回 HTML 给浏览器,同时注入初始状态(如 Vuex 数据)。 客户端“激活”(Hydration)HTML,使其变为可交互的 SPA。...HTTP 状态码说一下 回答: 状态码 类别 常见状态码 1xx 信息响应 100(继续)、101(切换协议) 2xx 成功 200(OK)、201(已创建) 3xx 重定向 301(永久重定向)、302...(临时重定向)、304(未修改) 4xx 客户端错误 400(错误请求)、401(未授权)、403(禁止)、404(未找到) 5xx 服务端错误 500(内部错误)、502(网关错误)、503(服务不可用
副作用的性能开销:在监控某个状态变化时用的useEffect假如使用不当,很容易造成其他状态相互依赖而产生调用链,带来额外的性能开销;另外监听的global属性「如:location等...」...} }; }); 工程添加了mock模式供开发者在没有服务端情况下模拟数据请求,通过vite-plugin-mock插件全局配置到vite中,mock接口返回在mock目录下增加,mock...404; 定义1个配置文件,记录每个路由页面的信息,类型定义如下: 定义路由装饰器RouteDecorator:主要作用是路由守卫,另外执行每个路由页面创建时和销毁时的自定义hooks; 在config...init(),生成一个axios的实例供项目调用; 配置errorHandle句柄,处理错误; 当然在第2步,你可以添加额外的请求拦截,例如RSA加密,本地缓存策略等,当逻辑过多时,建议通过函数引入。...构建后的资源包 分包策略是依据路由页面来切割,对js和css单独分离。
" component={NotFound} /> {/* 当前面的路由都匹配不到时就会重定向到/404 */} 重定向到登录页面。 配置 redux redux 算是 react 的一大难点。这里我们可以把 redux 理解成一个内存数据库,用一个对象来存储所有的数据....{ token, userInfo } }; }; CHANGE_LOGIN_INFO :定义操作类别 changeLoginInfo: 定义一个 action,在组件中调用...LoginStatusReducer 方法用于处理 action 中的数据,输出处理后的 loginInfo 数据。...mapDispatchToProps:本方法用于修改 store 数据,返回的函数对象也会绑定到 Login 组件的 props 中,其中的 dispath 参数,用于调用 reducer 中的处理函数
2、Http/1.1 301 Moved Permanently 301重定向永久重定向 对搜索引擎相对友好的跳转方式,当网站更换域名时可将原域名作301永久重定向到新域名,原域名权重可传递到新域名...Http状态码一览表 所谓的404页就是服务器404重定向状态返回页面。数字404指的是404号状态码。 一般常用到的有200号状态码和404号状态码。...您可以使用网站管理员工具查看一下 Googlebot 在抓取重定向网页时是否遇到问题。诊断下的网络抓取页列出了由于重定向错误导致 Googlebot 无法抓取的网址。 ...如果对于 Googlebot 抓取的网址看到此状态码(在"诊断"标签的 HTTP 错误页面上),则表示 Googlebot 跟随的可能是另一个页面的无效链接(是旧链接或输入有误的链接)。 ...409(冲突)服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。服务器在响应与前一个请求相冲突的 PUT 请求时可能会返回此代码,以及两个请求的差异列表。
在本教程中,我将介绍使用React Router入门所需的一切。...以编程方式导航 我们收到的props有一些便捷的方法可用于在页面之间导航。...重定向到另一个页面 React Router还有另一个名为Redirect的组件,正如您猜到的,它可以帮助我们将用户重定向到另一个页面。...重定向到404页面 要将用户重定向到404页面,您可以创建一个组件来显示它,但是为了使事情简单起见,我将仅显示带有render的消息。...现在,让我们继续前进,并在下一部分中学习如何保护我们的路由。 保护路由 有很多方法可以保护通往React的路由。但是,在这里,我仅检查用户是否已通过身份验证并将其重定向到适当的页面。
代码量更少:不需要定义繁琐的react component模板代码,状态的读写不需要在每个生命钩子中穿插使用,使代码结构变得浅层、简单;hooks缺点 1....副作用的性能开销:在监控某个状态变化时用的useEffect假如使用不当,很容易造成其他状态相互依赖而产生调用链,带来额外的性能开销;另外监听的global属性「如:location等...」...} }; }); 工程添加了mock模式供开发者在没有服务端情况下模拟数据请求,通过vite-plugin-mock插件全局配置到vite中,mock接口返回在mock目录下增加,mock...init(),生成一个axios的实例供项目调用; 配置errorHandle句柄,处理错误; 当然在第2步,你可以添加额外的请求拦截,例如RSA加密,本地缓存策略等,当逻辑过多时,建议通过函数引入。...构建后的资源包 [image.png] 分包策略是依据路由页面来切割,对js和css单独分离。
React Server Rendering 对于 React 来说,在服务端主要通过 ReactDOMServer 中的几个 API 来工作。...所以实际上组件只有一次 render,我们就需要提前取完业务数据再去执行,保证 render 出来是有数据的状态。 考虑到方便前后端调用相同的代码。...一种比较方便的方法是把拉取数据的逻辑写到 React Class 的静态方法上(组件外部也能调用),在服务端时前置执行,在前端时在 componentDidMount 时执行。 ?...React-Router 路由配置 在服务端初始化路由时,要先使用当前的 location 来 match 出首屏的路由。因为在 match 过程中要处理重定向和404等。...除非需要拉取数据进行判断,不要在路由确定之后(例如组件中 willMount)再重定向。因为在拿到路由配置之后就要根据相应的页面去拉数据了。这之后再重定向就比较浪费。 3.
概述 日常开发任务中,对于性能优化或多或少会接触到一些内容,可能也参照过 雅虎35条军规[1]进行过相关的性能优化,但是具体的优化结果以及实际的页面速度如何,我们怎么去看呢?...每个条中的浅色部分代表等待时间(资源请求被发送到收到第一个响应字节的时间),深色部分代表文件传输时间(从收到第一个字节到这个资源完全被下载好) 蓝色 代表 HTML 文件,黄色 代表 Script 文件...,包括从本地读取缓存,链接错误重连时 responseStart : 开始接收到响应的时间(获取到第一个字节的那个时候)。...但返回值的结构都是一样的,都是一个对象数组,每个对象是对资源的请求过程的描述,在console调用 performance.getEntries(),可以直接看到当前页面所有资源的加载过程。...通过观察NetWork的情况,很明显看到 DCL的时机,在一个encoding.js文件加载完成后,再触发的,而这个文件的加载时间长达 2.13s,可谓是占据了首页加载的80%左右的时间,那么就想如何优化这个脚本的加载时长
五大类状态码如下:类别范围含义常见场景信息响应100-199请求已接收,继续处理大文件上传、协议切换成功响应200-299请求已成功处理页面正常加载、API调用成功重定向消息300-399需要进一步操作以完成请求网页搬家...404 Not Found:互联网的"寻人启事"含义:服务器找不到请求的资源可能原因:URL拼写错误资源已被删除权限不足(服务器伪装成404)用户体验建议:自定义404页面,提供导航链接和搜索框405...例如,API 可能不允许调用DELETE来删除资源。406 Not Acceptable当 web 服务器在执行服务端驱动型内容协商机制后,没有发现任何符合用户代理给定标准的内容时,就会发送此响应。...、网络问题504网关超时未收到响应上游服务器过载、处理时间过长云服务场景:在微服务架构中,这两个错误常出现在API网关层503 Service Unavailable:"服务器正在休息"含义:服务器暂时无法处理请求...七、实战指南:状态码诊断流程图遇到错误状态码时,可按以下流程排查:4xx错误:先检查URL、请求参数、认证信息5xx错误:查看服务器日志,检查依赖服务重定向循环:检查301/302是否指向自身API设计建议