모든 화면에서 현재 Firebase 사용자를 확보하는 올바른 방법은 무엇입니까?

보보

Firebase 인증으로 등록과 로그인을 모두 사용하여 Flutter로 앱을 성공적으로 설정했습니다.

로그인 후 홈 화면으로 돌아와서 사용자에게 다음을 제공합니다.

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  final FirebaseAuth _auth = FirebaseAuth.instance;
  FirebaseUser user;

  @override
  void initState() {
    super.initState();
    initUser();
  }

  initUser() async {
    user = await _auth.currentUser();
    setState(() {});
  }

  @override
  Widget build(BuildContext context) {
    return SafeArea(
      child: Scaffold(
        //appBar: AppBar(title: const Text("Run to Feel Better")),
        body: Center(
          child: Column(
            children: <Widget>[
              if (user == null)
                RoundedButton(
                  buttonTitle: 'Crea un account',
                  color: kRTFBBlue,
                  onPressedFunction: () {
                    Navigator.pushNamed(context, '/account');
                  },
                )
              else
                Text("${user?.email}"),
            ],
          ),
        ),
        bottomNavigationBar: bottomBar(context, 0),
      ), // /widgets/home_scaffold.dart
    );
  }
}

그래서 모든 것이 잘 작동하지만 내 질문은 : 현재 사용자를 다른 페이지로 가져 오는 올바른 방법은 무엇입니까? FirebaseAuth.instance로 모든 화면을 다시 체크인해야하나요? 아니면 저장하고 페이지간에 공유 할 수 있나요 (아마도 Provider 패키지를 사용하여)?

대단히 감사합니다.

creativecreatormaybenot

물론 두 가지를 모두 수행 할 수 있습니다. 즉 상태 관리를FirebaseAuth 사용 하여 인스턴스를 어딘가에 저장할 수 있지만 항상 호출 할 수도 있습니다 .FirebaseAuth.instance

내가 생각할 수있는 유일한 귀중한 통찰력은 전화 FirebaseAuth.instance가 완전히 괜찮다 는 것입니다 (특히 비싸지는 않음). 다른 모든 것은 아마도 전적으로 의견에 근거한 것입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Alpine Linux에서 현재 로그인 된 모든 사용자를 보는 방법은 무엇입니까?

분류에서Dev

목록보기에서 모든 요소 (현재 화면에 표시되지 않는 요소)를 비활성화하는 방법은 무엇입니까?

분류에서Dev

Firebase에 사용자가 아닌 데이터를 저장하는 올바른 방법은 무엇입니까?

분류에서Dev

현재 디렉토리의 모든 파일 이름에서 한 문자를 다른 문자로 바꾸는 방법은 무엇입니까?

분류에서Dev

Windows 8.1에서 현재 화면의 모든 창을 최소화하는 방법은 무엇입니까?

분류에서Dev

Liferay 6.1에서 사이트 역할의 모든 사용자를 확보하는 방법은 무엇입니까?

분류에서Dev

QList에서 모든 QLabels 양식 UI를 얻는 올바른 방법은 무엇입니까?

분류에서Dev

전체 화면에서 올바른 LWJGL DisplayMode를 사용하는 방법은 무엇입니까?

분류에서Dev

화면 왼쪽 또는 오른쪽에서 UIView의 현재 위치를 아는 방법은 무엇입니까?

분류에서Dev

현재 셸에서 함수를 가져와 나중에 사용할 수 있도록 저장하는 올바른 방법은 무엇입니까?

분류에서Dev

두 개의 서로 다른 바인딩을 사용하여 사용자 지정 ListView에서 모든 정보를 얻는 방법은 무엇입니까?

분류에서Dev

단일 모델 내에서 메서드를 그룹화하는 올바른 방법은 무엇입니까?

분류에서Dev

페이지에 HTML을 추가하고 Jquery 및 사용자의 현재 탭에 액세스하는 올바른 방법은 무엇입니까?

분류에서Dev

Vim에서 열린 모든 탭에서 현재 단어를 검색하는 방법은 무엇입니까?

분류에서Dev

JDBC를 사용하여 Oracle 쿼리에서 모든 (암시 적) 결과를 가져 오는 올바른 방법은 무엇입니까?

분류에서Dev

SwiftUI에서 현재보기를 바꾸는 방법은 무엇입니까?

분류에서Dev

모든 열에서보기를 확장하는 방법은 무엇입니까?

분류에서Dev

Firebase의 View에 현재 사용자 이름을 표시하는 방법은 무엇입니까?

분류에서Dev

mongodb를 다른 파일로 내보내는 모듈-올바른 방법은 무엇입니까? (nodejs에서)

분류에서Dev

Crypto ++에서 ECDSA를 사용하는 올바른 방법은 무엇입니까?

분류에서Dev

Go에서 SIUSBXP를 사용하는 올바른 방법은 무엇입니까?

분류에서Dev

expressjs에서 Nodemailer를 사용하는 올바른 방법은 무엇입니까?

분류에서Dev

Firebase에서 데이터를 복제하는 올바른 방법은 무엇입니까?

분류에서Dev

Firebase 목록에서 개체를 변환하는 올바른 방법은 무엇입니까?

분류에서Dev

모든 사용자가 프로그램에 액세스 할 수 있도록 올바른 폴더 권한을 설정하는 방법은 무엇입니까?

분류에서Dev

모든 화면 크기에 대해 Unity에서 텍스트 크기를 올바르게 조정하는 방법은 무엇입니까?

분류에서Dev

모든 사용자에 대해 기본 Windows 10 잠금 화면 이미지를 재정의하는 방법은 무엇입니까?

분류에서Dev

모든 사용자에 대해 기본 Windows 10 잠금 화면 이미지를 재정의하는 방법은 무엇입니까?

분류에서Dev

부분보기 MVC 4를 사용하여 부모 양식에서 데이터를 제출하는 올바른 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Alpine Linux에서 현재 로그인 된 모든 사용자를 보는 방법은 무엇입니까?

  2. 2

    목록보기에서 모든 요소 (현재 화면에 표시되지 않는 요소)를 비활성화하는 방법은 무엇입니까?

  3. 3

    Firebase에 사용자가 아닌 데이터를 저장하는 올바른 방법은 무엇입니까?

  4. 4

    현재 디렉토리의 모든 파일 이름에서 한 문자를 다른 문자로 바꾸는 방법은 무엇입니까?

  5. 5

    Windows 8.1에서 현재 화면의 모든 창을 최소화하는 방법은 무엇입니까?

  6. 6

    Liferay 6.1에서 사이트 역할의 모든 사용자를 확보하는 방법은 무엇입니까?

  7. 7

    QList에서 모든 QLabels 양식 UI를 얻는 올바른 방법은 무엇입니까?

  8. 8

    전체 화면에서 올바른 LWJGL DisplayMode를 사용하는 방법은 무엇입니까?

  9. 9

    화면 왼쪽 또는 오른쪽에서 UIView의 현재 위치를 아는 방법은 무엇입니까?

  10. 10

    현재 셸에서 함수를 가져와 나중에 사용할 수 있도록 저장하는 올바른 방법은 무엇입니까?

  11. 11

    두 개의 서로 다른 바인딩을 사용하여 사용자 지정 ListView에서 모든 정보를 얻는 방법은 무엇입니까?

  12. 12

    단일 모델 내에서 메서드를 그룹화하는 올바른 방법은 무엇입니까?

  13. 13

    페이지에 HTML을 추가하고 Jquery 및 사용자의 현재 탭에 액세스하는 올바른 방법은 무엇입니까?

  14. 14

    Vim에서 열린 모든 탭에서 현재 단어를 검색하는 방법은 무엇입니까?

  15. 15

    JDBC를 사용하여 Oracle 쿼리에서 모든 (암시 적) 결과를 가져 오는 올바른 방법은 무엇입니까?

  16. 16

    SwiftUI에서 현재보기를 바꾸는 방법은 무엇입니까?

  17. 17

    모든 열에서보기를 확장하는 방법은 무엇입니까?

  18. 18

    Firebase의 View에 현재 사용자 이름을 표시하는 방법은 무엇입니까?

  19. 19

    mongodb를 다른 파일로 내보내는 모듈-올바른 방법은 무엇입니까? (nodejs에서)

  20. 20

    Crypto ++에서 ECDSA를 사용하는 올바른 방법은 무엇입니까?

  21. 21

    Go에서 SIUSBXP를 사용하는 올바른 방법은 무엇입니까?

  22. 22

    expressjs에서 Nodemailer를 사용하는 올바른 방법은 무엇입니까?

  23. 23

    Firebase에서 데이터를 복제하는 올바른 방법은 무엇입니까?

  24. 24

    Firebase 목록에서 개체를 변환하는 올바른 방법은 무엇입니까?

  25. 25

    모든 사용자가 프로그램에 액세스 할 수 있도록 올바른 폴더 권한을 설정하는 방법은 무엇입니까?

  26. 26

    모든 화면 크기에 대해 Unity에서 텍스트 크기를 올바르게 조정하는 방법은 무엇입니까?

  27. 27

    모든 사용자에 대해 기본 Windows 10 잠금 화면 이미지를 재정의하는 방법은 무엇입니까?

  28. 28

    모든 사용자에 대해 기본 Windows 10 잠금 화면 이미지를 재정의하는 방법은 무엇입니까?

  29. 29

    부분보기 MVC 4를 사용하여 부모 양식에서 데이터를 제출하는 올바른 방법은 무엇입니까?

뜨겁다태그

보관