You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
581 B
23 lines
581 B
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
import { useEffect, useState, useRef } from 'react';
|
|
export default function useMountStatus(defaultValue) {
|
|
var destroyRef = useRef(false);
|
|
|
|
var _useState = useState(defaultValue),
|
|
_useState2 = _slicedToArray(_useState, 2),
|
|
val = _useState2[0],
|
|
setVal = _useState2[1];
|
|
|
|
function setValue(next) {
|
|
if (!destroyRef.current) {
|
|
setVal(next);
|
|
}
|
|
}
|
|
|
|
useEffect(function () {
|
|
return function () {
|
|
destroyRef.current = true;
|
|
};
|
|
}, []);
|
|
return [val, setValue];
|
|
} |