1. next.js
-
定义:全栈式react框架
-
babel-loader:代码转换降级,将jsx语法转为js语法,将新版本的语法(ES6)转为(ES5) 需要安装三个模块 * babel-loader 将 webpack 和 babel 结合的桥梁 * @babel/core 核心包 * @babel/preset-env 一组转换规则
-
直接在jsx文件和js文件中使用标签的语法叫做jsx语法,一旦使用jsx语法必须引入react
-
app.jsx是一个react文件,里面定义并导出的函数是一个react组件
-
react组件有两种 函数式组件 类式组件 类式组件必须继承Component组件,他是react提供的父类
-
类组件有一个专有属性state 它用于装在当前组件的状态 可以认为等价于vue的data,state中可以定义任何内容 每一个内容都可以在render中通过this.state.xxx访问到
-
react并不是双向绑定也不是数据劫持,react提供了一个方法setState(),该方法用于修改数据并触发视图的更新
onClick = {()=>{this.setState({hello:'good'})}}
2. http 协议请求
http传输协议
协议规定了请求必须是由前端发起的 并且在传输的过程中 只能传递字符串一个请求完整的步骤
1.建立连接
前端浏览器和服务器建立连接
2.发送请求
要求前端必须以请求报文的形式发送数据
报文由浏览器帮忙组装 我们只需要传递一些必要的信息即可 (请求方式,请求地址)3.接收响应
要求服务器必须以响应报文的形式返回一些数据
在响应报文中有些数据需要我们前端使用
4.断开连接
前端(浏览器)和服务器断开连接
响应状态码
100-199 表明连接正在进行中(继续)
200-299 表明连接成功
300-399 表明重定向
400-499 表明客户端错误 前端错了
500-599 表明服务端错误 后端错了
3. 两种缓存方式
强缓存:浏览器直接读取缓存,不发出任何请求(检查是否过期,过期了走协商缓存)
协商缓存:浏览器向服务器发送一个请求,服务器会检查该资源是否有更新,如果有更新,就返回最新的资源,状态码200,如果没有更新,状态码304,不返回资源,浏览器从缓存中读取资源