Redux действия для переключения кнопок с угловым 4 - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу написать действия для переключения кнопок с помощью angular-redux.Я создал плавающую кнопку, похожую на эту, в угловом значении 4 Fab button

Теперь для написания действий и редуктора для того же самого я создал несколько, но не уверен, правильно ли я это делаютак как я новичок в редуксе, это мой первый редуктор и файлы действий, я совсем не уверен, что я здесь написал.Проверьте следующий код:

fab-button-actions.ts

import { Injectable } from '@angular/core';
import { Action } from 'redux';
import { NgRedux, dispatch } from '@angular-redux/store';
import { IAppState } from '../../../../store/';
import {
    AppConfigService,
    UIService,
} from '../../../../core/';

import { Subscription } from 'rxjs/Subscription';

/** This actions is used to start and stop the polling for the component
 * that needs to dispatch those actions
 *
 * @example
 *
 * fabButtonActions
 *
 */
@Injectable()
export class FabButtonActions {
    /* *
      * For Redux
      * Use this manage the ACTIONS of the reducer
    */
    static readonly ACTIONS = {
        OPEN: 'OPEN',
        CLOSE: 'CLOSE',
    };
    /* * @constructor
       *
       * initializes the FabButtonActions
       * initializes the NgRedux<IAppState>
    * */
    constructor(private ngRedux: NgRedux<IAppState>) { }
    /* *
    * Dispatches action to fab button reducer
    * to open the
    */
    openFabMenu() {
        this.ngRedux.dispatch({
            type: FabButtonActions.ACTIONS.OPEN,
        });
    }
    closeFabMenu() {
        this.ngRedux.dispatch({
            type: FabButtonActions.ACTIONS.CLOSE,
        });
    }
}

Fab-button.reducer.ts

import { Reducer } from 'redux';
import { FabButtonActions } from '../actions';

export interface FabButtonState {
  fabButtonOpen: boolean;
  fabButtonClose: boolean;
}

export const initialFabButtonState: FabButtonState = {
  fabButtonOpen: false,
  fabButtonClose: false,
};

export const fabButtonReducer: Reducer<FabButtonState> = (
  state = initialFabButtonState,
  action,
) => {
  switch (action.type) {
    case FabButtonActions.ACTIONS.OPEN:
      return {
        ...state,
        fabButtonOpen: true,
      };
    case FabButtonActions.ACTIONS.CLOSE:
      return {
        ...state,
        fabButtonClose: true,
      };
    default:
      return state;
  }
};

Пожалуйста, помогите мне с этим.или руководство с некоторыми действиями, которые будут соответствовать моему примеру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...