错误:
<块引用>无法在初始化程序中访问实例成员“_uid”。尝试 用不同的替换对实例成员的引用 expressiondartimplicit_this_reference_in_initializer
我面临的问题:
我有两个页面(即 nav.dart 和 profile_page.dart)我想在 nav.dart 中将 _uid 初始化为 profileId(即 ProfilePage(profileId: _uid) )以便我可以使用它在 profile_page dart 的未来构建器中作为 widget.profileId。
请帮帮我:)
谢谢
这是我的导航.dart
.
.
import 'package:justpoll/screens/trending.dart';
import 'package:justpoll/screens/profile/profile_page.dart';
class Nav extends StatefulWidget {
@override
_NavState createState() => _NavState();
}
class _NavState extends State<Nav> {
FirebaseAuth auth = FirebaseAuth.instance;
final userRef = FirebaseFirestore.instance.collection("users");
UserModel _currentUser;
String _uid;
String _username;
String _email;
@override
void initState() {
// TODO: implement initState
super.initState();
getCurrentUser();
}
getCurrentUser() async {
UserModel currentUser = await context
.read<AuthenticationService>()
.getUserFromDB(uid: auth.currentUser.uid);
_currentUser = currentUser;
print("${_currentUser.username}");
setState(() {
_uid = _currentUser.uid;
_username = _currentUser.username;
_email = _currentUser.email;
});
}
int _selectedIndex = 0;
List<Widget> _widgetOptions = <Widget>[
Home(),
Trending(),
CreatePoll(),
ChatHomeScreen(),
ProfilePage(profileId: _uid),
];
void _onItemTap(int index) {
if (index != 2) {
.
.
这是我的 profile_page.dart
.
.
import 'package:justpoll/screens/profile/edit_profile.dart';
import 'package:justpoll/Constants.dart';
class ProfilePage extends StatefulWidget {
final String profileId;
ProfilePage({this.profileId});
@override
_ProfilePageState createState() => _ProfilePageState();
}
class _ProfilePageState extends State<ProfilePage> {
.
.
.
buiildProfileHeader() {
return FutureBuilder(
future: userRef.doc(widget.profileId).get(),
builder: (BuildContext context, snapshot) {
if (!snapshot.hasData) {
.
.
.