@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
18 lines (17 loc) • 571 B
JavaScript
import isEqual from 'lodash/isEqual';
import { useState, useCallback, useRef } from 'react';
const useDifferentState = initialState => {
const [state, setState] = useState(initialState);
const StateRef = useRef(state);
const onChange = useCallback(v => {
const value = typeof v === 'function' ? v(StateRef.current) : v;
if (!isEqual(value, StateRef.current)) {
setState(value);
StateRef.current = value;
}
}, []);
return [state, onChange];
};
export default useDifferentState;
//# sourceMappingURL=useDifferentState.js.map
;