Как я могу обновить свое self.body при обновлении аутентификации? - PullRequest
0 голосов
/ 23 апреля 2020

Я пробовал несколько различных вариантов, и в настоящее время я использую приведенный ниже код для прослушивания изменений аутентификации и обновления тела представления, за исключением того, что оно не перерисовывается.

В частности, мое состояние var self.user, по-видимому, не обновляется, если в строке установлено user: self.user = _user. Насколько я понимаю, левая сторона знака равенства должна равняться правой, а затем вызывать перерисовку, потому что это состояние!

Чего мне не хватает?

struct MotherView: View {
    @State var user = Auth.auth().currentUser

    ...

    func initAuth() {
        _ = Auth.auth().addStateDidChangeListener { (auth, _user) in
            print("Auth state did change: User:")
            if(_user != nil){
                print("User is signed in!")
            } else {
                print("User is NOT signed in")
            }
            self.user = _user
        }
    }

    // This doesn't update
    var body: some View {
        VStack {
            if (self.user == nil) {
                ...
            } else {
                ...
            }

    }
}
...