rc-hooks
Version:
React Hooks Library.
23 lines (22 loc) • 757 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var react_1 = require("react");
var useSafeState_1 = tslib_1.__importDefault(require("../useSafeState"));
/**
* 强制组件重新渲染的 Hook。
*
* 内部使用了 `useSafeState`,调用时如果组件已经卸载则不会触发。
* @returns
* @example
* const update = useUpdate();
*/
var useUpdate = function () {
var _a = tslib_1.__read((0, useSafeState_1.default)(0), 2), setState = _a[1];
var update = (0, react_1.useCallback)(function () {
setState(function (num) { return num + 1; });
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
return update;
};
exports.default = useUpdate;