May*_*iXx 1 mobile flutter flutter-layout
当我想获取我的令牌时,我遇到了这个错误:setState() 回调参数返回了一个 Future。
onPressed: () {
setState(() async {
if (_formKey.currentState.validate()) {
Candidate candidate = new Candidate(
lastname: lastname,
firstname: firstname,
email: email);
await candidate.candidateAuth(map: candidate.toMap());
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) =>
ThemePage(candidate: candidate)));
}
});
},
Run Code Online (Sandbox Code Playgroud)
问题是,当我继续使用我的应用程序时,我遇到了更多线程问题。
setState 需要接收一个没有副作用的纯函数。
您可以调整它,以便可以在 async 函数之后调用 setState。像这样:
onPressed: () {
if (_formKey.currentState.validate()) {
Candidate candidate = new Candidate(
lastname: lastname,
firstname: firstname,
email: email);
await candidate.candidateAuth(map: candidate.toMap());
setState((){});
Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) =>
ThemePage(candidate: candidate)));
}
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3443 次 |
| 最近记录: |