ngrx/store 在 action/effects UI 通知之后

ngrx/store after action/effects UI notification

我正在使用 ngrx/store 和 ngrx/effects。

这是流程,

  1. 用户点击登录按钮
  2. 已发送登录操作
  3. $effects 执行 http.post 登录凭据
  4. 调度LOGIN_SUCCESS或LOGIN_FAILURE动作

问题:我想执行一些 UI 任务,例如,下拉模式,或在操作后显示错误消息的弹出窗口.

我将如何订阅组件中的响应?

谢谢大家。

你的状态应该有一个标志来通知你的组件它应该做一个动作。

像这样:

州:

const initialState: SomeState = {
    loggedIn: false,
    ...
};

export default function(state = initialState, action: Action): SomeState {
    switch (action.type) {
        case StateActions.LOGIN_SUCCESS:
            return Object.assign({}, state, {loggedIn: true});
            ...

然后在您的组件中订阅状态,如果 loggedIn 为真,您知道您应该显示模态。

另一种方法是通过服务在您的效果中执行任务。