Wpis z mikrobloga

#javascript #react #redux #saga #reactjs

jestem frontendowo-reactowym laikiem, stąd moje pytania:

jeśli użytkownik poda poprawną parę login+hasło to pobieram sobie token z backendu. wszystko fajnie, token siedzi sobie w ciastku, teraz chciałbym część contentu na stronie wyświetlać tylko dla zalogowanych użytkowników, część dla niezalogowanych, a część dla wszystkich. teraz moje pytania:

a) trzymać w globalnym stanie informację o tym czy użytkownik jest zalogowany to trochę słaby pomysl. w przypadku wysyłania requestów wystarczy słać token i weryfikować na backendzie, ale co jeśli np. użytkownikowi wyświetlamy jakiś modal, nie #!$%@? żadnych danych z serwera i po prostu treść modala zależy od stanu zalogowania użytkownika? walić przy każdym razem posta z tokenem i weryfikować?
b) inny przypadek - załóżmy, że mamy kontener składający się z kilku komponentów (sekcji) i niektóre sekcje są widoczne w pewien sposób dla użytkownika zalogowanego, inne nieco inaczej dla anonimowego. jak to rozpracować w kodzie biorąc pod uwagę, że raczej niebezpiecznie trzymać informację o zalogowaniu w stanie?
c) tutaj zupełnie inne pytanie - może ja nie zdaję sobie sprawy z jakiegoś sprytnego z mechanizmu (nie umiałem tego wygooglować), dzięki czemu część globalnego stanu może zostać "zaciemniona". istnieje coś takiego?

z góry wielkie dzięki za pomoc i rozwianie jakichkolwiek wątpliwości :)
  • 2
a), jeśli masz w state info, że jest zalogowany to stąd też weźmiesz te dane do wyświetlenia danych na modalu, token jest tylko po to by móc pobierać dane z backendu.

b). dlaczego niebezpiecznie trzymać informację o zalogowaniu w stanie? Póki użytkownik nie zostanie zweryfikowany przez backend i nie otrzyma tokenu nie dostanie też informacji wrażliwych. Nawet jeśli zmodyfikuje stan aplikacji w locie to nie będzie miał wrażliwych danych.

c) po co