I want to show popup when my state item is changed, but useCallback not listening my varible "overloaded" change.
const handleOnAddButtonClick = useCallback((e: React.MouseEvent) => {
if(overloaded){
openModal({
modalId: "error-modal",
props: {
description: "SSS",
info: "",
buttonOnClick: closeAllModal,
buttonText: "SSS",
},
})
}
e.stopPropagation();
e.preventDefault();
if (storeSearch) {
router.push(`/store/${item.category.id}?itemId=${item.id}`);
return;
}
handleAddBasket();
errModal()
}, [overloaded])
overloaded is change but handleOnAddButtonClick doesn't rerun
const addItemToBasket = createEffect<Partial<BasketItemDto>, void>(
async (data) => {
try {
const item: IResponse<BasketItemDto> = await makeRequest(
addBasketRequest(data)
);
} catch (error) {
setOverloaded();
return error;
}
}
);