只有函数对象才有prototype属性
只要是对象都有proto指针
Function.__proto__===Function.prototype
Object也是函数对象,Object.__proto__指向Function.prototype
setState可以传入一个对象,也可以传入一个函数,如果传入函数那么可以取到当前state值,否则只能取到异步更新前的state,也就是说如果想要多次操作state那么需要采用传入函数的方式setState((state,props)=>{return {count:this.state.count+1}})
flex布局如果没有设置flex-wrap那么则在一行中显示。
没有设置align-items或者align-self那么默认stretch
什么时候用flex布局,什么时候用绝对定位布局,一般如果盒子有重叠就用绝对定位布局,比如文字浮动在图像上。或者说单个元素的布局,对精细化要求比较高的用定位。
无论是flex还是定位,子元素都会变成行内块,也就是说其宽度由子元素决定,因为这个时候去对子元素做定位是无效的,因为父盒子太小了,往往需要自定宽度高度,保证可伸展的空间足够,在很多情况下我们需要自定宽度,比如width:100%
如果父元素已经定义了align-content那么子元素的align-self会失效
主轴的justify-self是不会生效的,除非是grid布局justify-self才有用
vue中className的写法
class="static"
:class="{ active: isActive }
:class="[{ active: isActive }, errorClass]"
react当中className的写法
className="static"
className={bar} //bar需要为字符串,bar=isText?'text':''
className={`${text} name`}
className={classnames('name',text)},这里text可以不只是字符串,还可以是{text:true}这里的true可以替换成变量