[在很多情况下,关于UI代码和业务逻辑,我们会分开关注。这在我们在Flutter中使用的大多数状态管理解决方案中都得到了体现。
在许多状态管理解决方案中,业务逻辑位于视图文件(小部件文件)之外,在某些情况下,我们希望基于浮动的逻辑来显示小吃店。
但是为了显示Snackbar
,我们首先需要一个上下文对象。我已经使用了NavigatorState来导航而没有上下文。但是我不知道是否有没有上下文显示SnackBar
的方法。
有人可以为此提供解决方案吗?
此外,如果您可以提供一种内部管理状态的实用程序方法,并且每当用户想要显示小吃栏时,只需从其逻辑部分调用该实用程序方法,这将非常有帮助。
context
进行导航,而可以从代码中的任何位置打开dialogs
,snackbars
或bottomsheets
。但是,snackbars
特别有一些问题。因为它不检查Scaffold
,所以snackbar
直接显示在屏幕底部。这意味着如果您有一个BottomNavigationBar
,它将被它覆盖或部分覆盖。
这也意味着,如果您有FloatingActionButton
,它将不会响应snackbar
位置,而不会像普通的snackbar
。
总而言之,使用Get,您可以在没有snackbars
的情况下拥有context
,但是您必须在UI中做出一些牺牲。