useState、useEffect、useRef

State:

  • State 做了哪些事情:

    • 1.接受一个初始值

    • 2.内部有一个函数去更新状态

    • 3.要有一个容器保存最新的值

Ref:

  • Ref 的改变不会引起当前组件的重新执行,自然视图也不会更新,这就是他与state的区别.

  • ref 可以让它指向任何东西:字符串、对象,甚至是函数。与 state 不同的是,ref 是一个普通的 JavaScript 对象,具有可以被读取和修改的 current 属性。

Effect:

  • useEffect 相当于遥控器,是用来去完成副作用操作的。

useEffect(()=>{

//我会在页面初始化完成执行一次
//页面每更新一次我就会执行一次
})

useEffect(()=>{

//我只会在页面初始化完成执行一次
//和componentDidMount vue中 mounted 相似
},[])

useEffect(()=>{

//我会在页面初始化完成执行一次
//当a和b的值发生变化我也会执行一次
**a,b的值必须是props或者state,否择我不会执行**
},[a,b])

useEffect(()=>{

 return ()=>{
 //清理函数,见”生命周期“
 }
},[a,b])

Last updated