作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一个 NoSuchMethodError: The method 'markNeedsBuild' was called on null.
错误出现在错误日志中。我从来没有在调试中看到过这个错误,用户也没有报告任何问题。为什么会发生此错误,我可以做些什么来防止它发生?
最佳答案
'NoSuchMethodError: The method 'markNeedsBuild' was called on null.'
由调用 setState()
引起处理小部件后。
最常见的情况是,当异步网络操作完成并尝试更新小部件但小部件已被释放时,就会发生这种情况。
例子:
await networkProvider.getData().then((value) {
// Update data.
setState(() {
data = value;
});
});
为避免在释放后更新小部件,请在调用
setState
之前检查以确保小部件仍然存在.这是上面示例的更新版本,可防止
NoSuchMethodError
.
await networkProvider.getData().then((value) {
// Check if widget still exists.
if (mounted) {
// Update data.
setState(() {
data = value;
});
}
});
关于flutter - NoSuchMethodError : The method 'markNeedsBuild' was called on null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63181024/
我是一名优秀的程序员,十分优秀!