• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

signOut()에서 에러가 났습니다.

24.02.25 23:11 작성 조회수 189

0

 

await context.read<AuthProvider>().signOut();

캡처.JPGmain_screen.dart에서 signOut에서 에러가 났습니다.
메일 보낼게요

답변 1

답변을 작성해보세요.

0

이전에 질문하셨던
https://www.inflearn.com/questions/1135368/providere등록중-에러-발생-되었어요
과 동일한 원인입니다.

Firebase 가 업데이트 되고 AuthProvider 라는 이름을 사용하게 되면서 발생하는 문제입니다.
main_screen.dart 파일의 상단에 직접 만드신 AuthProvider 클래스를
별칭으로 가져오는 import 문을 작성하시고 별칭을 통해 AuthProvider 클래스를 지정하는 코드로 수정하시면 됩니다.

import 'package:flutter/material.dart';
// 직접 작성한 AuthProvider 클래스를 별칭으로 가져옴
import 'package:hi_talk/providers/auth_provider.dart' as myAuthProvider;
import 'package:provider/provider.dart';

class MainScreen extends StatelessWidget {
  const MainScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ElevatedButton(
          onPressed: () async {
            // 별칭을 통해 AuthProvider 클래스를 지정
            await context.read<myAuthProvider.AuthProvider>().signOut();
          },
          child: Text('로그 아웃'),
        ),
      ),
    );
  }
}