@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
23 lines (22 loc) • 820 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
var _react = require("react");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const useDifferentState = initialState => {
const [state, setState] = (0, _react.useState)(initialState);
const StateRef = (0, _react.useRef)(state);
const onChange = (0, _react.useCallback)(v => {
const value = typeof v === 'function' ? v(StateRef.current) : v;
if (!(0, _isEqual.default)(value, StateRef.current)) {
setState(value);
StateRef.current = value;
}
}, []);
return [state, onChange];
};
var _default = exports.default = useDifferentState;
//# sourceMappingURL=useDifferentState.js.map
;