总有那么一段旅途触碰到你内心最柔软的地方。
(1) table-layout属性
在做歌单列表的时候用到了table,遇到一个问题,给th设置了固定的宽度。但是最终宽度依然和内容有关。后来发现是table-layout属性的影响,默认为auto,改成table {table-layout: fixed;}就好了。
(2)background作为对象属性时
1 | background: `transparent url(${require("../../assets/coverall.png")}) no-repeat 0 -986px`; |
因为是本地路径,不能直接url("../../assets/coverall.png")
(3)解决Ubuntu16.04解压压缩zip文件中文乱码
zip压缩包发送到我Ubuntu系统下直接就乱码了。
1 | //查看系统支持的字符集 |
(4)useEffect解决一个循环公告
代码比较简单,直接贴了
1 | import React, { useState, useEffect, useRef } from 'react' |
还有一些问题,未修复。
bug修复:定时器频繁点击的bug(定时器叠加bug,返回相同id的定时器)
1 |
(5)一不小心浏览器就死机了
1 | //打开任务管理器 |
然后杀死浏览器进程
(6)强大的Hooks
项目遇到的路由问题,需要在组件更新后更新state里面的type(获取的路由参数),但是我们都知道class是没有办法在componentWillUpdata或者componentDidUpdate里面使用this.seState()来更新组件状态的,否则将会造成死循环。
而hooks的useEffect()能完成class组件生命周期函数的功能,在组件更新后,利用函数组件useState()定义的方法就可以改变组件自己的状态了。