我正在阅读NgRx的基本体系结构教程,他们解释了有关Actions的信息:
接口具有单个属性,即类型,表示为字符串。 type属性用于描述将在您的应用程序中分派的操作。该类型的值以[Source] Event的形式出现,用于提供有关它是什么动作类别以及从哪里调度动作的上下文。
https://ngrx.io/guide/store/actions
我想知道不执行这种任意字符串格式的原理或好处吗?为什么不让Actions强制定义一个source
和event
属性,这些属性可以由库组合成一个type
属性?似乎它留有出错的余地,可以轻松忽略推荐的格式。有什么好处吗?
答案 0 :(得分:1)
这只是一个约定。字符串可以用作类型,因此从该角度来看它是“安全的”。在某个时候,开发人员必须自行选择有意义的字符串,对吧?
我倾向于这样做以使每组动作保持一致:
import { createAction, props } from '@ngrx/store';
import { Config } from '../models/config.model';
const appAction = '[App]';
export const getConfig = createAction(
`${appAction} Get Config`
);
export const setConfig = createAction(
`${appAction} Set Config`,
props<{ config: Config }>()
);
此处是与动作和动作创建者有切线相关的article。有趣的读物,但不能真正回答您的问题。