Call safeToRemove After Async Work
When using usePresence, always call safeToRemove after async work.
Incorrect (missing safeToRemove):
function AsyncComponent() {
const [isPresent, safeToRemove] = usePresence();
useEffect(() => {
if (!isPresent) {
cleanup();
}
}, [isPresent]);
}Correct (safeToRemove called):
function AsyncComponent() {
const [isPresent, safeToRemove] = usePresence();
useEffect(() => {
if (!isPresent) {
cleanup().then(safeToRemove);
}
}, [isPresent, safeToRemove]);
}