我正在使用ngrx/store 和ngrx/effects。
这是流量,
- 用户点击登录按钮
- 登录操作已发送
- $effects 执行 http.post 凭据以进行登录
- 调度 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
是真的,您知道您应该例如显示模式。
另一种方法是通过服务直接执行您的任务。