当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript redux-thunk.withExtraArgument函数代码示例

本文整理汇总了TypeScript中redux-thunk.withExtraArgument函数的典型用法代码示例。如果您正苦于以下问题:TypeScript withExtraArgument函数的具体用法?TypeScript withExtraArgument怎么用?TypeScript withExtraArgument使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了withExtraArgument函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: configureStore

function configureStore(modules: Array<IModule<any>>, api: Api): Store<Object> {
  const extraArguments: IExtraArguments = { api };
  const middlewares: Middleware[] = [
    thunk.withExtraArgument(extraArguments),
  ];

  const modulesReducers: ReducersMapObject = modules.reduce((reducers, module) => {
    if (module.getReducer) {
      const reducerData = module.getReducer();
      reducers[reducerData.name] = reducerData.reducer;
    }

    return reducers;
  }, {} as ReducersMapObject);

  const reducer: Reducer<IReduxState> = combineReducers<IReduxState>({
    createPoll: createPollReducer,
    viewPolls: viewPollsReducer,
    ...modulesReducers,
  });

  return createStore(
    reducer,
    compose(
      applyMiddleware(...middlewares),
      ('development' === process.env.NODE_ENV && window.devToolsExtension)
        ? window.devToolsExtension() : ((arg: any) => arg),
    ),
  );
}
开发者ID:sigrlami,项目名称:pollock,代码行数:30,代码来源:configureStore.ts

示例2: function

export default function(
  media: Media,
  actionEmitter: Emitter,
  customMiddlewares: Middleware[] = [],
  stateOverrides: DeepPartial<AppState> | undefined,
  extras: Extras
) {
  let initialState;
  if (stateOverrides) {
    initialState = merge(
      reducer(undefined, { type: "@@init" }),
      stateOverrides
    );
  }

  const emitterMiddleware = () => (next: Dispatch) => (action: Action) => {
    actionEmitter.trigger(action.type, action);
    return next(action);
  };

  const enhancer = compose(
    applyMiddleware(
      ...[
        thunk.withExtraArgument(extras),
        mediaMiddleware(media),
        emitterMiddleware,
        ...customMiddlewares,
      ].filter(Boolean)
    )
  );

  // The Redux types are a bit confused, and don't realize that passing an
  // undefined initialState is allowed.
  const store = initialState
    ? createStore(reducer, initialState, enhancer)
    : createStore(reducer, enhancer);
  return store;
}
开发者ID:captbaritone,项目名称:winamp2-js,代码行数:38,代码来源:store.ts

示例3: default

export default (
  axiosInstance: AxiosInstance,
  initialState: AppState = defaultInitialState,
  composeEnhancers = compose,
) => {
  const applyComposeEnhancers =
    (typeof window !== 'undefined' &&
      (window as AppWindow).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) ||
    composeEnhancers;

  const store = createStore(
    reducers,
    initialState,
    applyComposeEnhancers(
      applyMiddleware(
        thunk.withExtraArgument(axiosInstance),
        LogRocket.reduxMiddleware(),
      ),
    ),
  );

  return store;
};
开发者ID:ericmasiello,项目名称:synbydesign,代码行数:23,代码来源:createStore.ts

示例4: createStore

import { RouteState } from './reducers/route';
import { SpinnerState } from './reducers/spinner';
import { AuthState } from './reducers/auth';
import { LoginState } from './reducers/login';
import { FeedsFeedsState } from './reducers/feeds';
import { ArticlesState } from './reducers/articles';
import { SearchState } from './reducers/search';
import { UrlsState } from './reducers/urls';

export type FeedsState = {
    invalid: InvalidFeedsState,
    route: RouteState,
    spinner: SpinnerState,
    auth: AuthState,
    login: LoginState,
    feeds: FeedsFeedsState,
    articles: ArticlesState,
    search: SearchState,
    urls: UrlsState
};

// tslint:disable-next-line:no-any
const composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;

/**
 * State store for the Feeds application.
 * The API interface is passed as a separate
 * argument for thunk-based actions.
 */
export default createStore(reducers, composeEnhancers(applyMiddleware(thunk.withExtraArgument(api))));
开发者ID:rla,项目名称:feeds,代码行数:30,代码来源:store.ts

示例5: createStore

import { applyMiddleware, createStore } from "redux";
import { composeWithDevTools } from "redux-devtools-extension";
import thunk from "redux-thunk";
import { auth, firestore } from "../lib/firebase";
import { rootReducer } from "./reducers";

export const store = createStore(
  rootReducer,
  composeWithDevTools(
    applyMiddleware(thunk.withExtraArgument({ auth, firestore }))
  )
);
开发者ID:esseb,项目名称:scheduler,代码行数:12,代码来源:index.ts

示例6: compose

export let store = Redux.createStore<IState>(
  rootReducer,
  {
    // Pre-populate stored session data
    session: initialSessionState
  } as IState,
  compose(
    Redux.applyMiddleware(
      routerMiddleware(browserHistory as any),
      loadingBarMiddleware({
        promiseTypeSuffixes: [pending(""), success(""), failed("")]
      }),
      promiseMiddleware as any,
      thunkMiddleware.withExtraArgument({
        getCachedClient: getCachedClient,
        createClientWithToken: createClientWithToken,
        getSignalRClient: getSignalRClient
      } as IAsyncActionDependencies),
      (createLogger as any)())));

// Persist session settings to session storage
store.subscribe(debounce(() => {
  const state = store.getState();
  const sessionState = state && state.session;

  if (sessionState) {
    sessionStorage.setItem("impera", JSON.stringify(sessionState));
  }
}, 1000));

// Setup handler for 401 resposes
开发者ID:cschleiden,项目名称:imperaplus-client,代码行数:31,代码来源:store.ts

示例7: getStore

function getStore() {
  const extras = {};
  const enhancer = applyMiddleware(thunk.withExtraArgument(extras));
  return createStore(reducer, enhancer);
}
开发者ID:captbaritone,项目名称:winamp2-js,代码行数:5,代码来源:serialization.test.ts

示例8: default

/**
 * Helper function to create mock store for testing actions.
 */
// tslint:disable-next-line: no-any
export default (initialState: any): FeedsMockStore => {
    const middlewares = [thunk.withExtraArgument(mockApi)];
    const mockStore = configureStore(middlewares);
    return mockStore(initialState) as FeedsMockStore;
};
开发者ID:rla,项目名称:feeds,代码行数:9,代码来源:store.ts


注:本文中的redux-thunk.withExtraArgument函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。