如何向我的useEffect鉤子添加兩個回傳陳述句?我想為我當前的鉤子添加一個事件監聽器。
事件監聽器:
const subscription = AppState.addEventListener("change", nextAppState => {
if (
appState.current.match(/inactive|background/) &&
nextAppState === "active"
) {
console.log("App has come to the foreground!");
}
appState.current = nextAppState;
setAppStateVisible(appState.current);
console.log("AppState", appState.current);
});
return () => {
subscription.remove();
};
當前掛鉤:
useEffect(() => {
async function checkRefresh() {
if (
daysDiffToNow(lastUpdatedTimestamp) > 0 &&
appState.current.match(/inactive|background/) &&
nextAppState === "active"
) {
await onRefreshAppData();
}
}
checkRefresh();
const updateLastUpdatedTextCallback = (value) => {
setState((prevState) => ({
...
}));
};
const id = setInterval(() => {
updateLastUpdatedTextCallback(lastUpdatedTimestamp);
}, TIME_INTERVAL_IN_MILISECONDS);
return () => clearInterval(id);
}, [lastUpdatedTimestamp]);
const close = () => {
setState((prevState) => ({
...
}));
};
uj5u.com熱心網友回復:
你可以簡單地將它們從上到下放在里面,useEffect并有一個return看起來像這樣的函式(它一次執行所需的兩個回傳陳述句的代碼):
return () => {
subscription.remove(); // the first
clearInterval(id); // the second
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/443814.html
標籤:javascript 反应 反应式
上一篇:ReactPropTypes-或
