在 Flutter 中保持所有常量的最佳实践是什么? [关闭]

2024-02-13

在 Flutter 中创建常量类以保留所有应用程序常量以便于引用的最佳编程实践是什么?

我知道有constDart 中用于创建常量字段的关键字,但是可以使用吗static随着const,或者会在运行时产生内存问题吗?

class Constants {
  static const String SUCCESS_MESSAGE = "You will be contacted by us very soon.";
}

这个问题不仅基于获得正确的结构,而且还基于了解如何在创建常量时节省资源和防止内存泄漏。


我首选的解决方案是创建自己的 Dart 库。

新建一个 dart 文件,命名为constants.dart,并添加以下代码:

const String SUCCESS_MESSAGE=" You will be contacted by us very soon.";

编辑:99% 的情况下,您不需要使用类似以下语句显式命名您的 dart 库library library_name;在你的文件的顶部,你可能不应该(参考 https://stackoverflow.com/questions/21365301/exact-meaning-of-library-keyword-in-dart).
即使您省略此行,您的文件仍然是库!它只会被隐式命名。

然后将以下导入语句添加到需要访问常量的任何 dart 文件的顶部:

import 'constants.dart' as Constants;

Note if constants.dart位于不同的目录中,那么您需要指定路径constants.dart在您的进口声明中。

EDIT: Use lowercase_with_underscores指定库前缀时。

在这个例子中:

您可以使用相对路径:

import '../assets/constants.dart' as constants;

或者 lib 目录的绝对路径:

import 'package:<your_app_name>/assets/constants.dart' as constants;

现在您可以使用以下语法轻松访问常量:

String a = Constants.SUCCESS_MESSAGE;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Flutter 中保持所有常量的最佳实践是什么? [关闭] 的相关文章

  • 如何在Flutter中使用多个ChangeNotifierProvider?

    我最近开始使用provider对于我的状态管理 我知道如何一次使用一个 class Home extends StatelessWidget override Widget build BuildContext context return
  • flutter 中 sqlite 中的多个参数

    我想知道如何将多个参数传递给 sqllite 中的原始查询 我的代码如下 query async get a reference to the database Database db await DatabaseHelper instan
  • 如何在 flutter 中仅显示列表中的 5 项

    我想在 flutter 中显示一个列表 我正在使用listView 问题是我只想显示 5 个项目 我的意思是当用户向下滚动时我想从开始索引中删除并将另一个小部件添加到包含我的小部件的列表的末尾 但是当我这样做时ScrollView 不会停留
  • 用颤动画布在形状上切一个洞

    如何使用颤动画布在形状上 切一个洞 我有一组相当复杂的形状 看起来像现实世界的物体 该物体上有一个圆角矩形形状的孔 我真的很想从形状中减去 RRect 但我找不到任何有关如何执行此操作的信息 canvas clipRRect myRRect
  • 静态字符串文字表?

    在 C 中创建全局静态字符串表的正确方法是什么 我所说的 全局 是指 可从包含标头的任何文件中使用 但不是某些运行时创建的单一对象的一部分 我所说的 静态 是指 尽可能少地设置运行时间 只读内存页中的数据 每个应用程序只有 1 个数据实例
  • 实施 ChangeNotifier 与 StateNotifier

    我很熟悉Provider https pub dev packages provider打包并将其与ChangeNotifier 假设我有 3 个 getter 和具有不同功能的方法 切换加载 切换图像加载 切换 ObsecurePassw
  • const 和 constexpr 数组之间的区别

    为什么有区别const and constexpr当与数组一起使用时 int const xs 1 2 3 constexpr int ys 1 2 3 int as xs 0 error int bs ys 0 fine 我希望两者都能x
  • Flutter Web 崩溃并显示无法打开文件 client.js

    我可以就这个错误请求你的帮助吗 当我第一次尝试使用 flutter run d chrome 运行 flutter web 时会发生这种情况 Launching lib main dart on Chrome in debug mode S
  • const、span 和迭代器的问题

    我尝试编写一个按索引迭代容器的迭代器 AIt and a const It两者都允许更改容器的内容 AConst it and a const Const it两者都禁止更改容器的内容 之后 我尝试写一个span
  • Flutter 深度链接

    据Flutter官方介绍深层链接页面 https flutter dev docs development ui navigation deep linking 我们不需要任何插件或本机 Android iOS 代码来处理深层链接 但它并没
  • 在 Flutter 中显示 iOS 的 PDF 内联文件

    我正在 flutter 中专门为 iOS 开发一个应用程序 现阶段 我需要向其中添加 PDF 文件 问题是 flutter 没有原生的方式来显示 PDF 文件 据我研究 由此tread https github com flutter fl
  • Flutter如何从flutterWebviewPlugin.evalJavascript(addEventListener)检索javascript值

    我有一个 flutter 代码片段 它从我的 iframe 页面监听 postMessage flutter webview plugin 0 3 9 1 flutterWebviewPlugin onStateChanged listen
  • 无法将 const 应用于 typedef 引用

    应用时以下代码有效const到返回值引用value type 但如果我使用相同类型的 typedef 则会出现错误 举个例子 class T class A public typedef T value type typedef value
  • library_private_types_in_public_api 和 StatefulWidget

    将 linter 升级到新版本后 flutter lints 2 0 1 在我的 pubspec 中 linter 启用此规则 公共 API 中的库私有类型 https dart dev tools linter rules library
  • 查找文本的确切边界

    我需要知道一段文本的确切边界 相当于获取文本边界 https developer android com reference android graphics Paint html对于安卓 我意识到这在某种程度上与 Flutter 的设计背
  • 不接受某些 Android 许可证。要解决此问题,请运行: flutter doctor --android-licenses

    我正在使用Linux 当尝试在终端中运行以下命令时 flutter doctor android licenses 它向我显示以下错误 颤振 找不到命令 运行命令whereis flutter 如果这没有给你路径 输出 那么你没有正确设置颤
  • C++:重写已弃用的虚拟方法时出现弃用警告

    我有一个纯虚拟类 它有一个纯虚拟方法 应该是const 但不幸的是不是 该接口位于库中 并且该类由单独项目中的其他几个类继承 我正在尝试使用这个方法const不会破坏兼容性 至少在一段时间内 但我找不到在非常量方法重载时产生警告的方法 以下
  • Flutter基于Shared Preference设置启动页面

    我一直在尝试根据我的共享首选项设置加载不同的页面 但没有成功 根据 stackoverflow 中找到的几篇文章 我最终得到了以下解决方案 import dart async import package flutter material
  • 我实现了检查用户权限的方法,即使我在颤振中收到错误消息“MissingPluginException”?

    我实现了方法检查权限状态即使我收到一条错误消息 未处理的异常 MissingPluginException 在通道 flutter baseflow com permissions methods 上找不到方法 checkPermissio
  • 如何在没有 firebase 的情况下在 flutter 中显示推送通知?

    在我的 flutter 应用程序中 我必须在没有 firebase 的情况下显示推送通知 我的服务器会在点击特定 API 后向我发送一条消息 并且我希望将该消息显示为推送通知 你能告诉我一种方法如何在颤振中做到这一点吗 您可以使用本地通知插

随机推荐