1.let的暂时性死区
var tmp = 123;
if (true) {
tmp = 'abc'; // ReferenceError
let tmp;
}
即使有全局定义的存在,但是在这个封闭的块中又重新用let定义了它,那就和全局没关系了,
let又没有声明提升,在let前使用tmp肯定报错啊(这就是暂存性死区)
2.程墨morgan react live听后笔记
尽量使用无状态的组件,stateless propsmore
单向数据流
UI=f(data),一切皆组件,声明式编程(jq是命名式)
什么wo cuo down,react放弃git的dif方式,因为这样on^3的时间复杂度成本太高
key值唯一,稳定;{}三元是否判断不加key;css外部引入影响全局(忘记上下文了,为什么记了个这个?)
render v16可以返回一个数组,16之前(15.6)只能返回jsx
render里面不能用push和reverse
componentDidMount在服务器渲染不会执行,因为它解析出来一个字符串(可能记忆有误)
render之后state和props才改变
三种过程:* mount* update: 又分为state change引发的,和props引发的* unmount
mount过程:getDefaultProps→getInitialState→componentWillMount→render→componentDidMount
因state改变引发的update过程:shouldComponentUpdate→componentWillUpdate→render→componentDidUpdate
因父组件想要render这个组件改变引发的update过程:componentWillReceiveProps→shouldComponentUpdate→componentWillUpdate→render→componentDidUpdate
垂直居中:
.right dt img {
display: inline-block;
vertical-align: middle;
}
.right dt span {
display: inline-block;
vertical-align: middle;
height: 100%;
width: 0;
}