You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
importReact,{useState}from'react';functionExample(){// Declare a new state variable, which we'll call "count"const[count,setCount]=useState(0);return(<div><p>You clicked {count} times</p><buttononClick={()=>setCount(count+1)}>
Click me
</button></div>);}
functionTextInputWithFocusButton(){constinputEl=useRef(null);constonButtonClick=()=>{// `current` 指向已挂载到 DOM 上的文本输入元素inputEl.current.focus();};return(<><inputref={inputEl}type="text"/><buttononClick={onButtonClick}>Focus the input</button></>);}
useCallback 和 useMemo 区别
useCallback 用来缓存计算方法
useMemo 用来缓存计算值
The text was updated successfully, but these errors were encountered:
useState
useState 唯一的作用就是为了替代原本class类组件的繁杂用法,同时为了推广他们的function组件,
需要注意的是, 第二个参数
setCount
他相当于一个 dispatch 函数, 我们可以dispatch(count+1)
, 也可以dispatch(count => count+1)
, 如果 dispatch 一个函数, 那这个函数仅仅只会执行一次.useEffect 副作用钩子
useContext
如果你知道
provide
就是通过context才使得全局可共享状态,可跨组件通讯, 那应该就知道useContext是干嘛的了..useReducer
简单来说,他就是useState的替代方案,如果你用过redux,一定不陌生,redux的作用不就是将原本放在state中的状态搬到全局了么.
是不是比原来繁琐的
redux, connect , dispatch(action())
要简单多了,,,shouldComponentUpdate mock in hooks
The useMemo Hook lets you cache calculations between multiple renders by “remembering” the previous computation: 如果
a
,b
没有变, 则跳过useMemo
ComponentWillUnmount mock in hooks
如果 第二个参数 是
[]
, 则不会触发更新的生命周期, 如果第二个参数有值, 则会根据第二个参数值是否变更, 从而触发更新生命周期useEffect 与 useLayoutEffect
useEffect 是异步的, 不会阻塞屏幕更新,
useLayoutEffect
是同步, 仅仅当页面频繁闪烁, 才用. 但是这也会阻塞页面渲染.useRef 与 createRef
useRef 就是 ref, 只能在函数组件中使用, 她更新的时候不会重新创建, 销毁的时候会销毁, 并 ** 返回相同引用**
createRef 每次渲染都返回新的引用
useCallback 和 useMemo 区别
useCallback 用来缓存计算方法
useMemo 用来缓存计算值
The text was updated successfully, but these errors were encountered: