怎么解决 css 命名冲突 背的重点
- css-module :(以对象的方式去写, 使用起来不方便)
- css in js :(css封装成了组件的方式使用 不好区分哪些是CSS组件 哪些是业务组件)
- react-css-modules: (我们使用这个, 只需要把 className 改成 styleName 就可以了)
* css3 动画:
1. transform: translate(移动) rotate(旋转) scale(缩放)
translate(x, y) 移动
translateX(x)
translateY(y)
translate3D(x, y, z) 使用这个, 因为有伪GPU加速
2. transition: css属性 执行时间 动画效果 延迟几秒执行
3. animation:
@keyframes 名称 {
0% {
margin-left: 100px;
width:100px;
}
40% {
margin-left: 0;
width:200px;
}
100% {
margin-left: 0;
width:200px;
}
}
animation: 名称 执行时间 动画 延迟执行时间 执行次数
重绘和回流
1.重绘: DOM树没有元素增加或删除, 只是样式的改变, 针对浏览器对某一元素进行单独的渲染, 这个过程就叫做重绘
2.回流: DOM树中的元素被增加或者删除, 导致浏览器需要重新的去渲染整个DOM树, 回流比重绘更消耗性能, 发生回流必定重绘, 重绘不一定会导致回流
hook 规则
1.hook不要在循环, 条件或嵌套函数中调用 Hook, 确保总是在你的 React 函数的最顶层以及任何 return 之前调用他们
2.hook 只能在函数组件里调用 (包括自定义 hook), 不能用在 普通函数 或者 类组件里
3.hook 为什么必须要放到最顶层?:必须按照一定的顺序执行, (举个例子) 否则就会报错, 所以必须放在最顶层
导出xlsx
项目样式:收起,展开
状态码:
- 200: 表示从客户端发来的请求在服务器端被正确处理
- 301: moved permanently 永久性重定向 表示资源已被分配了新的 URL
- 302: found 临时性重定向 表示资源临时被分配了新的 URL
- 304: not modified 使用缓存的内容
- 401: unauthorized 表示发送的请求需要有通过 HTTP 认证的认证信息
- 404: not found 表示在服务器上没有找到请求的资源
- 500:internal sever error 表示服务器端在执⾏请求时发⽣了错误
vue 生命周期:
-
beforeCreate: 在实例初始化之后,进行数据侦听和事件
-
created: 在实例创建完成后被立即同步调用
-
beforeMount:代表dom马上就要被渲染出来了,但是却还没有真正的渲染出来,这个钩子函数与created钩子函数用法基本一致,可以进行相关初始化事件的绑定、发送ajax操作
-
mounted: 实例被挂载后调用
-
beforeUpdate:这个钩子函数初始化的不会执行,当组件挂载完毕的时候,并且当数据改变的时候,才会立马执行,这个钩子函数获取dom的内容是更新之前的内容
-
updated: 在数据更改导致的虚拟 DOM 重新渲染和更新完毕之后被调用
-
activated: 被 keep-alive 缓存的组件激活时调用
-
deactivated: 被 keep-alive 缓存的组件失活时调用
-
beforeDestroy:当组件销毁的时候,就会触发这个钩子函数代表销毁之前,可以做一些善后操作,可以清除一些初始化事件、定时器相关的东西
-
destroyed: 实例销毁后调用
-
errorCaptured: 在捕获一个来自后代组件的错误时被调用
React 合成事件
React的事件不是注册在当前 jsx 标签上,
React的事件是合成事件, 例如 onChange 事件 包含 blur, change, input, keydown, keyup
react并不是一开始把所有的事件都绑定在document上, 而是采取了一种按需绑定 比如发现了onClick事件, 再去绑定document click事件
节点上的原生事件的执行是在目标阶段 然而合成事件的执行是在冒泡阶段 所以原生事件会先合成事件执行
事件名称命名方式不同 合成事件以驼峰的方式写 原生事件 全部小写
git部分
*//进公司之后 git 的配置
* git config --global "user.name" //git账号是公司给你新开的"
* git config --global user.email //git右上角的名称
*// 公密钥
* 配置 公钥 私钥
ssh-keygen -t rsa -C "公司给你的登录账号"
cat ~/.ssh/id_rsa.pub // 打开公钥, 拷贝所有内容
* // 拉取更新项目
* git fetch // 同步远程分支
* git clone // 拷贝 git 项目到本地
* git pull origin 分支名 //拉取最新代码
* git push -f origin //分支: 强制提交
* git status // 查看本地文件状态
* git log //查看提交日志
*// 保存 项目/分支
* git add . // 跟踪文件 把代码保存到缓冲区
* git commit -m '描述文字(有意义的)' //把项目提交到本地仓库
*//分支部分
* git push origin 分支名 // 提交 (当前在哪个分支下面 就只能往当前这个分支 push)
* git branch -a //查看本地和远程的分支
* git branch -v //查看本地分支, *号表示当前在哪个分支上
* git checkout 分支名 //切换分支 (只有当前分支上没有任何修改了 才能切换分支)
* git checkout -b 分支名 //基于本地分支创建自己本地的分支
* git checkout -b 分支名 origin/分支名 //基于远程分支创建自己本地的分支
*//不太常用
* git diff //比较代码
* git reset --hard commit哈希值 // 回滚代码
* git stash save '描述' //缓存 stash
* git stash list //查看存储的栈列表
* git stash apply stash@{1} // 回到某一个存储上 从0开始
* git stash apply //回到最近储藏
* git revert commit的哈希值 //撤回某一条提交
* git reset . //撤回 add
* git checkout . //撤回所有修改的文件
* git reflog //查看所有的日志
//git复习 :juejin.cn/post/727906…