Étant nouveau ngrx
Je suis face à une exception et ne sais pas pourquoi ...NGRX: TypeError: Les actions doivent avoir une propriété de type
Je suis en train de dispatch
une action
et la poignée dans un effect
, mais je continue à obtenir l'erreur: TypeError: Actions must have a type property
Actions:
export const TEST_ACTION = 'test_action';
export class TryTest implements Action {
readonly type = TEST_ACTION;
constructor(public playload: any) {
}
}
export type MyActions = TryTest;
Effets:
import * as MyActions from "./myactions.actions";
@Injectable()
export class MyEffects {
@Effect()
testEffect = this.actions$
.ofType(MyActions.TEST_ACTION)
.map((action: MyActions.TryTest) => {
return 'something'
});
constructor(private actions$: Actions) {}
}
composants:
this.store.dispatch(new MyActions.TryTest({ name: 'test' }));
J'utilise:
effets: 4.0.5 et magasin: 4.0.3
Je pense que vous devez ajouter les parenthèses ('()') lorsque vous souhaitez envoyer une nouvelle action, sinon le constructeur n'est pas appelé: 'this.store.dispatch (nouveau MyActions.TryTest ({nom: 'test'})()); ' – David
Merci David pour le moment, mais je pense que j'appelle le constructeur et passe l'objet {name: test} – Thibs
Oh, je suis désolé, j'ai mal interprété votre code! ça ne fait rien! – David