react

89 阅读2分钟

1. next.js

  1. 定义:全栈式react框架

  2. babel-loader:代码转换降级,将jsx语法转为js语法,将新版本的语法(ES6)转为(ES5) 需要安装三个模块 * babel-loader 将 webpack 和 babel 结合的桥梁 * @babel/core 核心包 * @babel/preset-env 一组转换规则

  3. 直接在jsx文件和js文件中使用标签的语法叫做jsx语法,一旦使用jsx语法必须引入react

  4. app.jsx是一个react文件,里面定义并导出的函数是一个react组件

  5. react组件有两种 函数式组件 类式组件 类式组件必须继承Component组件,他是react提供的父类

  6. 类组件有一个专有属性state 它用于装在当前组件的状态 可以认为等价于vue的data,state中可以定义任何内容 每一个内容都可以在render中通过this.state.xxx访问到

  7. 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,不返回资源,浏览器从缓存中读取资源