ht_hooks
Version:
ht React 业务 Hooks
18 lines • 638 B
JavaScript
import { useRef } from 'react';
var defaultShouldUpdate = function (a, b) {
return !Object.is(a, b);
}; //判断两值是否一致决定是否更新
function usePrevious(state, shouldUpdate) {
if (shouldUpdate === void 0) {
shouldUpdate = defaultShouldUpdate;
}
var prevRef = useRef(); //初始prevRef.current=undefined
var curRef = useRef(); //初始curRef.current=undefined
if (shouldUpdate(curRef.current, state)) {
//初始初始curRef.current=undefined肯定不等于state,需要更新
prevRef.current = curRef.current;
curRef.current = state;
}
return prevRef.current;
}
export default usePrevious;