const handlePopstateEvent = () => {
if (data) {
if (abv) {
history.push(`/attorney?id=${orderId}`);
dispatch(t);
}
if (order && isClientOwner) {
if (window.location.pathname === '/form-email') {
history.goBack();
}
}
}
if (!ogrn) {
dispatch(changeCompany({ company }));
}
};
window.onpopstate = handlePopstateEvent;
if (!order && esiaRequired === undefined) {
return <Loader />;
}
if (order?.error) {
return <ApiError />;
}
if (order.status === 'IN_PROGRESS' || order?.status === 'NEW') {
history.push(`/order-prepearing`);
}
if (order.esiaRequired) {
if (
window.location.pathname === '/form-email' &&
order.companyJson &&
profile?.esiaVerified &&
!localStorage.getItem('attorneyDate') &&
!order.isClientOwner
) {
history.push(`/attorney`);
}
}
if (order.state === 'paid') {
history.push(`/order-paid?id=${order?.id}`);
}
if (localStorage.getItem('goToIdentification')) {
localStorage.removeItem('goToIdentification');
history.push(`/identification?id=${order?.id}`);
}
return (
<Route .../>
<Route .../>
<Route .../>
)
по описанию думал и так понятно, что к чему. Тут же вопрос скорее архитектурный, а не конкретного куска кода. Возможно есть какой то подход общепринятый. Гугление не помогло(
Да. Но на сервер если отправлять из хранилища потом ? Отправится объект? Или может какой то content-type проставлять что бы он определился как файл? Или это уже на стороне бека разбирается?
Нет. Я пробовал уже. Дело скорее всего действительно в том что счетчики задваиваются но не понятно по какой причине. При простом скроле с телефона или открытии/закрытии меню с компонентом ничего такого не происходит. Он не размонтируется и состояния в нем не меняются
(Псевдокод)
по описанию думал и так понятно, что к чему. Тут же вопрос скорее архитектурный, а не конкретного куска кода. Возможно есть какой то подход общепринятый. Гугление не помогло(