【发布时间】:2020-07-22 14:35:01
【问题描述】:
我有 3 个屏幕,登录、主页和聊天。在聊天中我想使用用户,但由于某些原因我收到了错误。
尝试将用户传递给聊天时出现主页类错误:'未定义的名称'用户''。
这里的代码示例:
class Login extends StatefulWidget {
@override
_LoginState createState() => _LoginState();
}
class _LoginState extends State<Login> {
String email;
String password;
final FirebaseAuth _auth = FirebaseAuth.instance;
final FirebaseAuth _firebaseAuth = FirebaseAuth.instance;
Future<String> login(String _email, String _password) async {
FirebaseUser user = (await _firebaseAuth.signInWithEmailAndPassword(
email: _email, password: _password))
.user;
() =>
Navigator.push(context, MaterialPageRoute(builder: (context) => Bar(user: user)));
}
...
为什么没有定义?我想将 user 从 Login() 通过 Homepage() 传递到 Chat()。 提前谢谢你
编辑: 我注意到它不仅在 List 中定义,而且还可以正常工作。 我怎样才能将它传递给列表?
class HomePage extends StatefulWidget {
final FirebaseUser user;
const HomePage({Key key, this.user}) : super(key:key);
@override
_BarState createState() => _BarState();
}
class _BarState extends State<HomePage> {
void test() {
() =>
Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) =>
Chat(user: widget.user))); < ---- WORKING
}
int tabIndex = 0;
List<Widget> widgetOptions = [
Match(),
Chat(user: widget.user), < --- NOT WORKING
AddBook(),
Profile(),
];
【问题讨论】:
-
我们看不到整个代码。
-
你能告诉我们你的
Chat class是什么样的吗?