Muszę wprowadzić przepływ rejestracyjny za pomocą routera reagującego-4. Przepływ składa się z następujących etapów:Warunkowo zabezpieczające trasy (przepływ rejestracji użytkownika)
- Utwórz konto (email/pass)
- Potwierdź email
- Utwórz profil (dane takie jak City, Age etc, pola wymagane)
wymagania aplikacyjne:
- Jeśli użytkownik nie jest zalogowany, zawsze powinien być przekierowany do
Login
strona - jeśli użytkownik jest zalogowany, ale e-mail nie został potwierdzony, powinien zawsze być przekierowany na stronę
ConfirmEmail
(niezależnie od tego, jaki URL wpisuje w pasku adresu URL, nawet po wczytaniu aplikacji po kilku dniach) - , jeśli użytkownik potwierdził wiadomość e-mail, ale nie jeszcze nie został utworzony profil, chcę, żeby zawsze być przekierowany do
CreateProfile
stronie
Więc jeśli użytkownik nie skończył jakiś krok chcę zawsze przekierować go do tego kroku (nawet po przeładunku aplikacji i niezależnie od tego, co URL wpisuje w przeglądarce).
Jako opcję chcę ograniczyć dostęp użytkownika do strony ConfirmEmail
, jeśli już ją potwierdził (lub ograniczyć dostęp do strony CreateProfile
, jeśli już utworzył profil).
Jak elegancko zaimplementować tę logikę za pomocą routera 4? Myślę, że jest to podstawowa/podstawowa cecha aplikacji, więc szukam dobrego, skalowalnego rozwiązania.
Również używam Redux, więc proszę zauważyć, że w pewnym momencie mam już następujące zmienne w stanie Redux: isLoggedIn
, isEmailConfirmed
, isProfileCreated
.
Dzięki.
Tomasz odpowiedź jest dobra, należy również użyć [Redux Persist] (https://github.com/rt2zz/redux-persist), aby utrzymać swój sklep redux w [LocalForage] (https://github.com/localForage/localForage) lub LocalStorage – Dyo
Co rozumiesz przez wdrożenie rejestracji po zalogowaniu. Jak się zalogować do aplikacji bez rejestracji –