不同的使用语句例如:Bloc和路由器,navigator.pop()…?



使用状态管理(例如:Bloc)和内置(Router)类(navigator.pop()和navigator.push())有什么区别?块的确切用途是什么以及何时使用它?

状态管理

这个术语定义了它管理应用程序的状态。通过状态,它意味着当用户与应用程序交互并且应用程序改变其行为时,我们可以说这是一个状态更改。状态也可以在没有任何用户交互的情况下处理。例如

  1. 用户轻按按钮,您给他显示一条消息:"您轻按了按钮"。(用户交互时)
  2. 用户在聊天应用程序内,应用程序接收消息并自动更新屏幕与新消息(在没有用户交互的情况下)

注意:Bloc只是处理状态管理的一种方式,市场上还有许多其他方式。

路由器

你有不同的屏幕用于不同的目的,你想在不同的用户交互中显示/删除它们,路由器来帮你了。

例如,你在一个聊天应用程序中,第一个屏幕显示了一个对话列表,当你点击一个对话时,它会把你带到单个对话屏幕,你也可以回到对话列表。切换屏幕通过Navigator.of(context).push(//some screen)Navigator.of(context).pop()等路由器返回。

让我们来看看状态管理和路由器之间的真正区别,因为它们在我给出的例子中看起来是一样的。使用State管理,您可以更改屏幕上的单个对象,例如,一段文本。但是对于路由器,你改变了整个,没有涉及到状态管理。

最新更新