今天只学了一个hooks函数,但是学习这种东西在精不在多,如果学的稍微慢一点,但是路走的更踏实,那么这个路你走的也是可以的。、
hook
useMemo
useMemo他和useEffect很相像,但是他如果一样,那么他创造的意义就没了,所以他们之间还是有一定区别的,我知道的一个就是,useMemo这里他有个缓存机制,其他方面,他和useEffect没有什么区别,都是两个参数,一个回调函数,一个依赖,然后其他没什么了。
es6
map
map是es6的一个新增的数组,然后他会去遍历数组然后会返回一个新数组,然后他在其中会对这个数组进行一定的修改,在react中多数用来渲染dom元素的,例如:
//方法一
count.map((dt)=>{
return <div>{dt}</div>
})
//方法二
{
[
<div key="1">{count[0]}</div>
<div key="2">{count[1]}</div>
<div key="3">{count[2]}</div>
]
}
filter
filter是es6的一个过滤器,用filter可以过滤我想要的一些数据和某些值,例如:
const arr=[1,2,3,4,5];
const newArr=arr.filter(v=>{
return v!==2
})
newArr=[1,3,4,5]
reduce
react并没有什么不一样的地方,他有个很特殊的值,比如是说在写求1-100的和的时候,我们往往都会定义一个值,所以然后在循环往这个值里面加,然后求出和,但是,reduce可以不用,因为reduce他有两个参数值,然后遍历的时候,在函数后面,他会给第一个参数一个默认值,代码如下:
const arr=[1,2,3,4,5];
//这个是个数组类型的
arr.reduce((sum,v)=>{
sum+=v
return sum
},0)
对象类型
const arr=[1,2,3,4,5];
arr.reduce((obj,v)=>{
obj[v]=v
return obj
},{})
Object
const obj={
name:"张三"
age:21
}
//打印或者说获取对象的属性名
console.log(Object.keys(obj))
//打印或者说获取对象的属性值
console.log(Object.values(obj))
//打印或者说获取对象的所有属性
console.log(Object.entries(obj))
css3
animation
anitation:名字 执行时间 动画效果 延迟执行时间 执行次数 来回都有动画 特性:不需要事件触发 而tranfrom:transition刚好相反,他刚好需要事件触触发的
keyframes
keyframes 后面跟一个名字然后和animation 搭配使用:代码如下:
@keyframes 名字{
0%{
},
50%{
},
100%{
}
}