當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript store.helpers類代碼示例

本文整理匯總了TypeScript中src/store/store.helpers的典型用法代碼示例。如果您正苦於以下問題:TypeScript helpers類的具體用法?TypeScript helpers怎麽用?TypeScript helpers使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了helpers類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: createRequestThunk

  getLinodeConfigActions,
  getLinodeConfigsActions,
  updateLinodeConfigActions
} from './config.actions';
import { Entity } from './config.types';

const addLinodeIdToConfig = (linodeId: number) => (
  config: Linode.Config
): Entity => ({
  ...config,
  linode_id: linodeId
});

export const createLinodeConfig = createRequestThunk(
  createLinodeConfigActions,
  ({ linodeId, ...data }) =>
    _createLinodeConfig(linodeId, data).then(addLinodeIdToConfig(linodeId))
);

export const getLinodeConfigs = createRequestThunk(
  getLinodeConfigsActions,
  ({ linodeId }) =>
    _getLinodeConfigs(linodeId)
      .then(({ data }) => data)
      .then(configs => configs.map(addLinodeIdToConfig(linodeId)))
);

export const getLinodeConfig = createRequestThunk(
  getLinodeConfigActions,
  ({ linodeId, configId }) =>
    _getLinodeConfig(linodeId, configId).then(addLinodeIdToConfig(linodeId))
開發者ID:linode,項目名稱:manager,代碼行數:31,代碼來源:config.requests.ts

示例2: removeMany

import { MappedEntityState } from 'src/store/types';
import { isType } from 'typescript-fsa';
import { deleteLinode, deleteLinodeActions } from '../linodes.actions';
import {
  createLinodeDiskActions,
  deleteLinodeDiskActions,
  getAllLinodeDisksActions,
  getLinodeDiskActions,
  getLinodeDisksActions,
  updateLinodeDiskActions
} from './disk.actions';
import { Entity } from './disk.types';

export type State = MappedEntityState<Entity>;

export const defaultState: State = createDefaultState<Entity>();

const reducer: Reducer<State> = (state = defaultState, action) => {
  if (isType(action, deleteLinodeActions.done)) {
    const {
      params: { linodeId }
    } = action.payload;

    const configIdsToRemove = Object.values(state.itemsById)
      .filter(({ linode_id }) => linode_id === linodeId)
      .map(({ id }) => String(id));

    return removeMany(configIdsToRemove, state);
  }

  if (isType(action, deleteLinode)) {
開發者ID:linode,項目名稱:manager,代碼行數:31,代碼來源:disk.reducer.ts

示例3: createRequestThunk

  getLinodeDisksActions,
  resizeLinodeDiskActions,
  updateLinodeDiskActions
} from './disk.actions';
import { Entity } from './disk.types';

const addLinodeIdToDisk = (linodeId: number) => (
  disk: Linode.Disk
): Entity => ({
  ...disk,
  linode_id: linodeId
});

export const createLinodeDisk = createRequestThunk(
  createLinodeDiskActions,
  ({ linodeId, ...data }) =>
    _createLinodeDisk(linodeId, data).then(addLinodeIdToDisk(linodeId))
);

export const getLinodeDisks = createRequestThunk(
  getLinodeDisksActions,
  ({ linodeId }) =>
    _getLinodeDisks(linodeId)
      .then(({ data }) => data)
      .then(disks => disks.map(addLinodeIdToDisk(linodeId)))
);

export const getLinodeDisk = createRequestThunk(
  getLinodeDiskActions,
  ({ linodeId, diskId }) =>
    _getLinodeDisk(linodeId, diskId).then(addLinodeIdToDisk(linodeId))
開發者ID:linode,項目名稱:manager,代碼行數:31,代碼來源:disk.requests.ts


注:本文中的src/store/store.helpers類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。