首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在NgRx createAction props<>()中使用泛型类型

在NgRx中,createAction函数是用于创建一个action的工厂函数。props函数是createAction的一个参数,用于定义action的payload。

在props函数中使用泛型类型,可以为action的payload指定类型。具体使用方法如下:

  1. 首先,导入createAction和props函数:
代码语言:txt
复制
import { createAction, props } from '@ngrx/store';
  1. 然后,定义一个泛型类型,用于指定action的payload类型。例如,我们定义一个名为MyPayload的泛型类型:
代码语言:txt
复制
interface MyPayload {
  id: number;
  name: string;
}
  1. 接下来,使用props函数为action定义payload类型。在createAction函数中,通过props函数传入一个对象,对象的属性名即为payload的属性名,属性值为payload的类型。例如:
代码语言:txt
复制
export const myAction = createAction(
  '[My Feature] My Action',
  props<MyPayload>()
);
  1. 最后,我们可以在组件中使用myAction来创建一个action,并传入对应的payload:
代码语言:txt
复制
import { Store } from '@ngrx/store';
import { myAction } from './my-feature.actions';

@Component({
  // ...
})
export class MyComponent {
  constructor(private store: Store) {}

  onButtonClick() {
    const payload: MyPayload = {
      id: 1,
      name: 'example'
    };

    this.store.dispatch(myAction(payload));
  }
}

这样,我们就可以在NgRx中使用泛型类型来定义action的payload,并在组件中使用createAction函数创建带有指定payload类型的action。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券