Actioninterface provided by @ngrx:
typeproperty is a string used to uniquely identify your action to your application. It's a common convention to use lisp-case (such as
MY_ACTION), however you are free to use whatever casing style that makes to your team, as long as it's consistent across the project.
Plain objects are used so that the actions are serializable and can be replayable into the application state. Even if your actions involve asynchronous logic, the final dispatched action will remain a plain JSON object.
[Admin Page] Add Useraction becomes much more succinct and clean: