总有那么一段旅途触碰到你内心最柔软的地方。
(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()
定义的方法就可以改变组件自己的状态了。