当前位置: 首页 > 网络应用技术

6个简单的技术在扑来中使用setstar

时间:2023-03-06 19:18:36 网络应用技术

  SETSTATE功能是管理Flutter应用程序中状态的最基本方法。这里是维护应用程序的一些最佳实践。

  该功能的功能是管理“扑朔迷离”应用程序中状态的一种简单方法。但是,当您希望应用程序正常工作和高性能时,您需要避免多个陷阱。在这里,您应该遵守的一些最佳实践。

  这是扑动散发重建(重建)当前小部件及其后代的方式。在重建中,最新的变量值将用于创建用户界面。例如,用户将开关从转动并切换到闭合。具有存储此值的支持变量,因此在更改后,将其设置为。开关本身不会反映此更改,直到将其重建为新的支持字段值。

  触发当前组件的重建。如果您的整个应用程序仅包含一个小部件,则将重建整个小部件,这将使您的应用程序慢速。请查看以下示例。

  在这里,我们有5个小组件,它们是同一小部分的一部分。

  如果您切换任何控件,则整个屏幕将被重建。

  在这里,我们将其包装在一个。页面看起来相同,但是如果您单击此示例中的任何开关,则只需重建您单击的小部分即可。

  来自Flutter API文档

  可以在每个帧中调用此方法。除了建立小部分外,不应没有副作用。

  构建方法旨在构建一个小零件树,因此我们应该维护此方法。不要在这里做一些奇特的事情,它会减慢您的应用程序。SetState的呼吁可能会触发其他重建。在最坏的情况下,您最终可能有例外,告诉您目前正在进行重建。

  重建将在完成后触发,因此无需在此方法中调用它。该方法旨在初始化与状态相关的属性,例如设置默认值或订阅流量。在这里不要做其他任何事情!

  是否使用SetState都没关系

  像这样

  结果是一样的。

  请勿在SetState中进行任何大量计算,因为它会阻止您的应用程序重新计算。请请参见以下示例代码:

  只有在打印语句才能进行小组件重建之后。此次,您的应用程序不会响应用户的操作,并且会稍后执行这些操作。因此,如果用户多次单击控件,因为用户有用户有多次没有视觉反馈,重建将多次堆积,这将使应用速度降低。

  更好的方法是在执行长期操作时显示进度指标,以便用户知道正在发生某些事情,他需要等待完成。

  运行代码时

  您最终将获得这样的异常信息:

  在方法之外实现异步操作,然后调用。

  我希望这些见解可以帮助您更好地理解颤音中的固定机制。遵循这些技能,您的问题和更快的应用程序将更少。源代码示例可以在GitHub上找到。

  原始:https://levelup.gitconnect.com/6-easy-tips-working-with-setstate-in-a-flutter-application-3d629bc77a16

  作者:Xladu

  原始:https://juejin.cn/post/7101546281075474468