摘要:
Object.defineProperty() 会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象 例如: 方式 一 声明的对象 let egObjectA = { name:"狗蛋",age:18 }; 方式 二 声明的对象 let egObjectB = { name:" 阅读全文
摘要:
唉,看了几片关于hooks useContext的文章,除了千篇一律的抄文档,还是抄,估计自己都没明白吧 本人脑子笨,写个简单的demo记录一下,防止以后忘了 结构 注意分级,别到时候路径没写对又找我事儿 废话不多说,上代码 globalContext.js import React from "r 阅读全文
摘要:
最近写了一个组件,发现别人传递参数后,组件逐层传递数据(props)太麻烦了,而且我也不需要改变根组件的状态值,也不想使用redux, 突然发现 context 很适合使用( 跨层级传递数据 ) 今天就介绍下context(执行的上下文) 我们和网上的案例不一样,我们分文件写代码,写在不同的js里面 阅读全文
摘要:
create-react-app 按照官方给出文档自定义主题色没有生效 只针对3.xx版本,4.xx不是这套方案 原因:less.loader 版本过高 解决方案一:之前步骤还是按照官方文档配置 但是启动项目会报错,这时候需要添加一个配置解决问题: 使用lessOptions包裹之前的两个配置, 然 阅读全文
摘要:
import axios from "axios"; import { message } from "antd"; // axios.defaults.baseURL = "http://localhost:3333"; axios.defaults.headers = { "Access-Con 阅读全文
摘要:
REACT的DIFF算法与虚拟DOM 1、什么是虚拟DOM VDOM就是js数据结构,用js对象构建一棵虚拟DOM树,VDOM和真实DOM结构之前有一个映射关系 2、原生DOM慢的原因 浏览器收到一个DOM操作,就会走一遍完整的渲染流程,像计算元素坐标的操作就会浪费掉,因为下次DOM操作可能会改变之 阅读全文
摘要:
1、树摇 tree shaking 在应用程序中去除没有使用的代码,使代码的体积更小 前提: 1、必须使用ES6模块 2、开启production环境 配合package.json使用 package.json中配置: "sideEffects":false , //表示所有代码都没有副作用(都可以 阅读全文
摘要:
1、HMR = hot module replacement ( 热模块替换/模块热替换 ) 作用:一个模块发生变化,只会重新打包这一个模块(而不是打包所有模块),极大提升构建速度 devServer:{ ... , hot:true,//开启HMR功能 } 注意: 1、样式文件:可以使用HMR(因 阅读全文
摘要:
策略兵法: 1、js压缩:生产环境下会自动压缩js代码(mode:"production") 2、html压缩:配合html-webpack-plugin插件 奋起冲锋:html压缩 wepack.config.js配置 const { resolve } = require("path"); co 阅读全文
摘要:
功法大纲: js语法检查eslint依赖:eslint、eslint-plugin-import、eslint-config-airbnb-base、eslint-loader jsa兼容(不同浏览器):babel-loader 内功心法第一章:js语法检查 webpack.config.js配置 阅读全文