Flutter FutureBuilder에서 currentUser를 사용할 수 없었습니다 (Firebase Authentication)
환경
pubspec.yamlenvironment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
firebase_core: ^0.7.0
cloud_firestore: ^0.16.0+1
firebase_auth: ^0.20.1
The argument type 'Stream' can't be assigned to the parameter type 'Future'.
이 오류는 아마 버전 문제 일 것 같습니다. . .
비동기 처리를 지정하는 future
부분에 currentUser
를 넣고 싶지만 아무런 오류가 발생합니다. . .
Widget build(BuildContext context) {
return FutureBuilder(
future: FirebaseAuth.instance.currentUser, // ここでエラー
builder: (ctx, futureSnapshot) {
if (futureSnapshot.hasData) {
User user = futureSnapshot.data;
return Dashboard();
}
return LoginScreen();
});
}
이유는 솔직히 잘 모르겠지만 StreamBuilder
를 사용하면 비슷한 일을 할 수 있습니다.
StreamBuilder와 authStateChanges로 대체?
Widget build(BuildContext context) {
return StreamBuilder(
stream: FirebaseAuth.instance.authStateChanges(),
builder: (ctx, futureSnapshot) {
if (futureSnapshot.hasData) {
User user = futureSnapshot.data;
return Dashboard();
}
return LoginScreen();
});
}
일단 이것으로 비슷한? 처리에는 할 수 있었던 것 같습니다. .
왜 FutureBuilder
그럼 안 되는지, 여러가지 조사했습니다만 결국 잘 모르겠습니다. 누군가 알기 쉽게 설명하십시오
Reference
이 문제에 관하여(Flutter FutureBuilder에서 currentUser를 사용할 수 없었습니다 (Firebase Authentication)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kokogento/items/2e6af4a2a0a3af1f8cf4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
environment:
sdk: ">=2.7.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.3
firebase_core: ^0.7.0
cloud_firestore: ^0.16.0+1
firebase_auth: ^0.20.1
이 오류는 아마 버전 문제 일 것 같습니다. . .
비동기 처리를 지정하는
future
부분에 currentUser
를 넣고 싶지만 아무런 오류가 발생합니다. . . Widget build(BuildContext context) {
return FutureBuilder(
future: FirebaseAuth.instance.currentUser, // ここでエラー
builder: (ctx, futureSnapshot) {
if (futureSnapshot.hasData) {
User user = futureSnapshot.data;
return Dashboard();
}
return LoginScreen();
});
}
이유는 솔직히 잘 모르겠지만
StreamBuilder
를 사용하면 비슷한 일을 할 수 있습니다.StreamBuilder와 authStateChanges로 대체?
Widget build(BuildContext context) {
return StreamBuilder(
stream: FirebaseAuth.instance.authStateChanges(),
builder: (ctx, futureSnapshot) {
if (futureSnapshot.hasData) {
User user = futureSnapshot.data;
return Dashboard();
}
return LoginScreen();
});
}
일단 이것으로 비슷한? 처리에는 할 수 있었던 것 같습니다. .
왜 FutureBuilder
그럼 안 되는지, 여러가지 조사했습니다만 결국 잘 모르겠습니다. 누군가 알기 쉽게 설명하십시오
Reference
이 문제에 관하여(Flutter FutureBuilder에서 currentUser를 사용할 수 없었습니다 (Firebase Authentication)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kokogento/items/2e6af4a2a0a3af1f8cf4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Widget build(BuildContext context) {
return StreamBuilder(
stream: FirebaseAuth.instance.authStateChanges(),
builder: (ctx, futureSnapshot) {
if (futureSnapshot.hasData) {
User user = futureSnapshot.data;
return Dashboard();
}
return LoginScreen();
});
}
Reference
이 문제에 관하여(Flutter FutureBuilder에서 currentUser를 사용할 수 없었습니다 (Firebase Authentication)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kokogento/items/2e6af4a2a0a3af1f8cf4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)