大家好,我卡颂。稍微深入了解过useState的同学都知道—— useState其实是预置了reducer的useReducer。具体来讲,他预置的reducer实现如下:functionbasicStateReducer(state,action){//$FlowFixMe:Flowdoesn'tlikemixedtypesreturntypeofaction==='function'?action(state):action;}那按理来说,useState与useReducer性能应该完全一致才对。但实际上,他们的性能并不一样。本文就来聊聊他们的细微差别。一个严重的bug在v18之前,特定
setState的两种传参方式1、直接传入新值setState(options);const[state,setState]=useState(0);setState(state+1);2、传入回调函数setState(callBack);const[state,setState]=useState(0);setState((prevState)=>prevState+1);//prevState是改变之前的state值,return返回的值会作为新状态覆盖state值useState异步回调获取不到最新值及解决方案通常情况下setState直接使用上述第一种方式传参即可,但在一些特殊情况下第
setState的两种传参方式1、直接传入新值setState(options);const[state,setState]=useState(0);setState(state+1);2、传入回调函数setState(callBack);const[state,setState]=useState(0);setState((prevState)=>prevState+1);//prevState是改变之前的state值,return返回的值会作为新状态覆盖state值useState异步回调获取不到最新值及解决方案通常情况下setState直接使用上述第一种方式传参即可,但在一些特殊情况下第