Загружаем данные о клиентах и емейлах с удаленного сервера и помещаем их в стейты clients и mails.
Как только данные загружены нужно выполнять блок кода во втором useMemo из примера ниже. Он так же должен выполняться при изменение других стейтов (для примера я указал только один timeStamp).
Чтобы не повылетали ошибки приходится каждый раз писать проверку. Поскольку приложение большое, подобных useMemo и проверок на загрузку очень много. Можно ли как-то оптимизировать этот код без этой проверки if?
if (!clients || !mails) return false;
const [clients,setClients] = useState(false)
const [mails,setMails] = useState(false)
const [timeStamp, setTimeStamp] = useState(1686765995)
//Первоначальная загрузка данных с удаленного сервера
useMemo(()=>{
// loadCLient() - загружаем данные о клиентах с удаленного сервера и помещаем ответ в стейт clients
// loadMails() - загружаем данные о емейлах с удаленного сервера и помещаем ответ в стейт mails
},[])
useMemo(() => {
if (!clients || !mails) return false;
// code ...
}, [clients, mails, timeStamp])