Моя форма имеет 3 поля: lambda
, period
и filterPattern
. Когда значения lambda
и period
изменятся, будет срабатывать handleSearch
. Однако я не хочу, чтобы handleSearch
запускался при изменении filterPattern
.
Если я не введу filterPattern
в массив зависимостей, тогда handleSearch
не сможет получить последнее значение filterPattern
.
Как избежать срабатывания useEffect при изменении одной вложенной зависимости? Спасибо.
const getLogQuery = useCallback(() => ({
lambda,
period,
filterPattern,
}), [lambda, period, filterPattern]);
const handleSearch = useCallback(async () => {
await getLambdaLogs(getLogQuery());
}, [getLogQuery]);
useEffect(() => {
handleSearch();
}, [handleSearch]);
const getLambdaLogs = async (query) => {
const logs = await LambdaService.getLambdaLogs(query);
setLogItems(logs);
}