您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

reducer.ts 880B

123456789101112131415161718192021222324252627282930313233
  1. import ReducerRegistry from '../../base/redux/ReducerRegistry';
  2. import { equals, set } from '../../base/redux/functions';
  3. import { _SET_AUDIOMODE_DEVICES, _SET_AUDIOMODE_SUBSCRIPTIONS } from './actionTypes';
  4. export interface IMobileAudioModeState {
  5. devices: Object[];
  6. subscriptions: Object[];
  7. }
  8. const DEFAULT_STATE = {
  9. devices: [],
  10. subscriptions: []
  11. };
  12. ReducerRegistry.register<IMobileAudioModeState>('features/mobile/audio-mode',
  13. (state = DEFAULT_STATE, action): IMobileAudioModeState => {
  14. switch (action.type) {
  15. case _SET_AUDIOMODE_DEVICES: {
  16. const { devices } = action;
  17. if (equals(state.devices, devices)) {
  18. return state;
  19. }
  20. return set(state, 'devices', devices);
  21. }
  22. case _SET_AUDIOMODE_SUBSCRIPTIONS:
  23. return set(state, 'subscriptions', action.subscriptions);
  24. }
  25. return state;
  26. });