vue.js - Vuex:何时使用状态与吸气剂?
问题描述
从 Vuex 检索数据时,在某些情况下,使用 getter 和直接访问状态之间的选择非常明确。例如:
- 如果我正在检索一个简单的标量,例如
count
变量的值,那么直接访问状态似乎是有意义的 - 但是,如果我要检索经过过滤的项目列表,那么 getter 是明确的选择。
但是对于其他只需要少量逻辑来检索值的情况呢?例如,如果我foo
的商店根目录中有一个对象,并且:
- 我想检索诸如 foo.option 之类的值,但我不确定它是否存在。我通常会使用三元运算符来检查值是否存在,然后返回值或返回 null。
- 我想检索 foo.date,但 date 是一个字符串,所以我希望它转换为一个时刻。
使用函数可以满足这些需求中的任何一个mapState
,但我应该使用它mapGetter
吗?有什么不同?
解决方案
这些需求中的任何一个都可以使用 mapState 函数来满足
是的......但是如果超过 1 个组件需要“稍微改变”的值会发生什么?你最终会得到重复的逻辑。在这种情况下,在 getter 中执行“少量逻辑”。
推荐阅读
- python - Python urllib 请求总是导致错误 400:错误请求
- python-3.x - 如何从 read_csv 中选择以特定单词开头的特定列?
- javascript - 动态 Echarts 条
- cmake - 在使用 PACKAGECONFIG 的 CMake Yocto 配方中附加到 CMAKE_CXX_FLAGS
- matlab - 保存二值图像时数据类型发生变化
- google-apps-script - 如何在没有 Workspace 订阅的情况下制作供个人使用的 Google 文档插件?
- python - 如何返回只有键+值回文的字典
- sharepoint-online - Power Apps - 形式的富文本编辑器:随机无法查看/编辑(可能的高度问题)
- python - 如何修复此类型错误
- html - 网格列未使用完整的行空间,溢出到下一行