Flutter提示Don‘t use ‘BuildContext‘s across async gaps.的解决办法---flutter里state的mounted属性

今天编写代码,遇到了Don't use 'BuildContext's across async gaps.的蓝色提示,虽然不是警告也不是报错,但是强迫症还是受不了想解决这个bug

原因

我在async函数进行了显示toast的wiget,flutter不希望我们这样做,因为这里我们函数是异步的,执行显示widget时候的buildcontext可能变化了,也就是我们现在界面widget树可能变化了

解决

在你的widget构建前增加

if (!mounted) return;

在Flutter的 State 对象中,mounted 是一个布尔值属性,用于指示与这个 State 对象相关联的 Widget 是否仍然挂载到Widget树上。当一个Widget被从Widget树中移除时,它的 State 对象的 mounted 属性将会变为 false

你可能感兴趣的:(flutter,前端,javascript)