當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。